Issue 10947: Send correct accept-header for AP

This commit is contained in:
Michael 2021-11-03 19:06:07 +00:00
parent 72a500ea08
commit 1219a4d00e
3 changed files with 9 additions and 13 deletions

View File

@ -21,6 +21,7 @@
namespace Friendica\Protocol; namespace Friendica\Protocol;
use Friendica\Core\Logger;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Model\APContact; use Friendica\Model\APContact;
use Friendica\Model\User; use Friendica\Model\User;
@ -80,9 +81,15 @@ class ActivityPub
*/ */
public static function isRequest() public static function isRequest()
{ {
return stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/activity+json') || $isrequest = stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/activity+json') ||
stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/json') || stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/json') ||
stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/ld+json'); stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/ld+json');
if ($isrequest) {
Logger::debug('Is AP request', ['accept' => $_SERVER['HTTP_ACCEPT'], 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '']);
}
return $isrequest;
} }
/** /**

View File

@ -68,17 +68,6 @@ class Receiver
const TARGET_ANSWER = 6; const TARGET_ANSWER = 6;
const TARGET_GLOBAL = 7; const TARGET_GLOBAL = 7;
/**
* Checks if the web request is done for the AP protocol
*
* @return bool is it AP?
*/
public static function isRequest()
{
return stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/activity+json') ||
stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/ld+json');
}
/** /**
* Checks incoming message from the inbox * Checks incoming message from the inbox
* *

View File

@ -417,7 +417,7 @@ class HTTPSignature
* @return \Friendica\Network\HTTPClient\Capability\ICanHandleHttpResponses CurlResult * @return \Friendica\Network\HTTPClient\Capability\ICanHandleHttpResponses CurlResult
* @throws \Friendica\Network\HTTPException\InternalServerErrorException * @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/ */
public static function fetchRaw($request, $uid = 0, $opts = ['accept_content' => ['application/activity+json', 'application/ld+json']]) public static function fetchRaw($request, $uid = 0, $opts = ['accept_content' => ['application/activity+json, application/ld+json; profile="https://www.w3.org/ns/activitystreams"']])
{ {
$header = []; $header = [];