* @param int $uriId
* @param string $url
* @param string $size
- * @return string Found link URL + id on success, $url on failture
+ * @return string Found link URL + id on success, $url on failure
*/
public static function getByLink(int $uriId, string $url, string $size = ''): string
{
{
$timeout = DI::config()->get('system', 'xrd_timeout');
- $curlResult = HTTPSignature::fetchRaw($url, 0, [HttpClientOptions::TIMEOUT => $timeout, HttpClientOptions::ACCEPT_CONTENT => $accept]);
- if (!$curlResult->isSuccess()) {
+ try {
+ $curlResult = HTTPSignature::fetchRaw($url, 0, [HttpClientOptions::TIMEOUT => $timeout, HttpClientOptions::ACCEPT_CONTENT => $accept]);
+ if (empty($curlResult) || !$curlResult->isSuccess()) {
+ return [];
+ }
+ } catch (\Exception $exception) {
+ Logger::notice('Error fetching url', ['url' => $url, 'exception' => $exception]);
return [];
}
$fields = ['mimetype' => $curlResult->getHeader('Content-Type')[0]];