From: Michael Date: Sun, 20 Oct 2024 18:38:16 +0000 (+0000) Subject: Issue 14126: Workaround for wrong content types X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=d13dba7445ef926f0fc8de47cf375763b06b8727;p=friendica.git Issue 14126: Workaround for wrong content types --- diff --git a/src/Model/Item.php b/src/Model/Item.php index 6ce65dcf61..62b8b78772 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -4155,6 +4155,10 @@ class Item try { $curlResult = DI::httpClient()->head($uri, [HttpClientOptions::ACCEPT_CONTENT => HttpClientAccept::JSON_AS, HttpClientOptions::REQUEST => HttpClientRequest::ACTIVITYPUB]); + if (!HTTPSignature::isValidContentType($curlResult->getContentType(), $uri) && (current(explode(';', $curlResult->getContentType())) == 'application/json')) { + // Issue 14126: Workaround for Mastodon servers that return "application/json" on a "head" request. + $curlResult = HTTPSignature::fetchRaw($uri, $uid); + } if (HTTPSignature::isValidContentType($curlResult->getContentType(), $uri)) { $fetched_uri = ActivityPub\Processor::fetchMissingActivity($uri, [], '', $completion, $uid); }