diff --git a/src/Core/Storage/Type/ExternalResource.php b/src/Core/Storage/Type/ExternalResource.php index c988ea90c..055db0dea 100644 --- a/src/Core/Storage/Type/ExternalResource.php +++ b/src/Core/Storage/Type/ExternalResource.php @@ -63,7 +63,11 @@ class ExternalResource implements ICanReadFromStorage Logger::debug('Got picture', ['Content-Type' => $fetchResult->getHeader('Content-Type'), 'uid' => $data->uid, 'url' => $data->url]); return $fetchResult->getBody(); } else { - throw new ReferenceStorageException(sprintf('External resource failed to get %s', $reference), $fetchResult->getReturnCode(), new Exception($fetchResult->getBody())); + if (empty($fetchResult)) { + throw new ReferenceStorageException(sprintf('External resource failed to get %s', $reference)); + } else { + throw new ReferenceStorageException(sprintf('External resource failed to get %s', $reference), $fetchResult->getReturnCode(), new Exception($fetchResult->getBody())); + } } } diff --git a/src/Model/Post/Link.php b/src/Model/Post/Link.php index aa830a1d2..343ad815c 100644 --- a/src/Model/Post/Link.php +++ b/src/Model/Post/Link.php @@ -126,7 +126,7 @@ class Link $timeout = DI::config()->get('system', 'xrd_timeout'); $curlResult = HTTPSignature::fetchRaw($url, 0, [HttpClientOptions::TIMEOUT => $timeout, HttpClientOptions::ACCEPT_CONTENT => $accept]); - if (!$curlResult->isSuccess()) { + if (empty($curlResult) || !$curlResult->isSuccess()) { return []; } $fields = ['mimetype' => $curlResult->getHeader('Content-Type')[0]];