- $curlResult = DI::httpClient()->head($url, [HTTPClientOptions::TIMEOUT => $timeout]);
- if ($curlResult->isSuccess()) {
- if (empty($media['mimetype'])) {
- return $curlResult->getHeader('Content-Type')[0] ?? '';
- }
+ $curlResult = HTTPSignature::fetchRaw($url, 0, [HttpClientOptions::TIMEOUT => $timeout, HttpClientOptions::ACCEPT_CONTENT => $accept]);
+ if (!$curlResult->isSuccess()) {
+ return [];
+ }
+ $fields = ['mimetype' => $curlResult->getHeader('Content-Type')[0]];
+
+ $img_str = $curlResult->getBody();
+ $image = new Image($img_str, Images::getMimeTypeByData($img_str));
+ if ($image->isValid()) {
+ $fields['mimetype'] = $image->getType();
+ $fields['width'] = $image->getWidth();
+ $fields['height'] = $image->getHeight();
+ $fields['blurhash'] = $image->getBlurHash();