From 3110831131c0ab0c781d4916930a73ac2f0ce3f4 Mon Sep 17 00:00:00 2001 From: Philipp Date: Tue, 3 Jan 2023 21:05:58 +0100 Subject: [PATCH 1/2] Fix empty fetchResult at ExternalStorage (thx to Marco R.) --- src/Model/Post/Link.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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]]; From 176af67e88e128e5ad1b975e3e5b07f4d247b720 Mon Sep 17 00:00:00 2001 From: Philipp Date: Tue, 3 Jan 2023 21:06:16 +0100 Subject: [PATCH 2/2] Fix empty fetchResult curResult at Link::fetchMimeType (thx to Marco R.) --- src/Core/Storage/Type/ExternalResource.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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())); + } } }