From c3d836db631b002108789238f45478e9245bfb16 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 8 Jan 2023 09:41:54 +0000 Subject: [PATCH 1/3] OStatus: Fix PubSubHubBub subscription --- src/Module/OStatus/PubSub.php | 1 + src/Module/OStatus/PubSubHubBub.php | 2 ++ src/Module/OStatus/Salmon.php | 3 ++- static/routes.config.php | 13 +++++++------ 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/Module/OStatus/PubSub.php b/src/Module/OStatus/PubSub.php index c83ac4986b..c4614855ca 100644 --- a/src/Module/OStatus/PubSub.php +++ b/src/Module/OStatus/PubSub.php @@ -58,6 +58,7 @@ class PubSub extends \Friendica\BaseModule $this->logger->info('Feed arrived.', ['from' => $this->request->getRemoteAddress(), 'for' => $this->args->getCommand(), 'user-agent' => $this->server['HTTP_USER_AGENT']]); $this->logger->debug('Data stream.', ['xml' => $xml]); + $this->logger->debug('Gut request data.', ['request' => $request]); $nickname = $this->parameters['nickname'] ?? ''; $contact_id = $this->parameters['cid'] ?? 0; diff --git a/src/Module/OStatus/PubSubHubBub.php b/src/Module/OStatus/PubSubHubBub.php index edc2472f48..de2104b212 100644 --- a/src/Module/OStatus/PubSubHubBub.php +++ b/src/Module/OStatus/PubSubHubBub.php @@ -71,6 +71,8 @@ class PubSubHubBub extends \Friendica\BaseModule throw new HTTPException\ForbiddenException(); } + $this->logger->debug('Gut request data.', ['request' => $request]); + // Subscription request from subscriber // https://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html#rfc.section.5.1 // Example from GNU Social: diff --git a/src/Module/OStatus/Salmon.php b/src/Module/OStatus/Salmon.php index 0fd901eaf4..64dcec22cf 100644 --- a/src/Module/OStatus/Salmon.php +++ b/src/Module/OStatus/Salmon.php @@ -62,9 +62,10 @@ class Salmon extends \Friendica\BaseModule * @throws HTTPException\OKException * @throws \ImagickException */ - protected function rawContent(array $request = []) + protected function post(array $request = []) { $xml = Network::postdata(); + $this->logger->debug('Gut request data.', ['request' => $request]); $nickname = $this->parameters['nickname'] ?? ''; if (empty($nickname)) { diff --git a/static/routes.config.php b/static/routes.config.php index 1c6268aa95..634b90b23a 100644 --- a/static/routes.config.php +++ b/static/routes.config.php @@ -598,12 +598,13 @@ return [ ], // OStatus stack modules - '/ostatus/repair' => [Module\OStatus\Repair::class, [R::GET ]], - '/ostatus/subscribe' => [Module\OStatus\Subscribe::class, [R::GET ]], - '/poco' => [Module\User\PortableContacts::class, [R::GET ]], - '/pubsub/{nickname}/{cid:\d+}' => [Module\OStatus\PubSub::class, [R::GET, R::POST]], - '/pubsubhubbub/{nickname}' => [Module\OStatus\PubSubHubBub::class, [ R::POST]], - '/salmon/{nickname}' => [Module\OStatus\Salmon::class, [ R::POST]], + '/ostatus/repair' => [Module\OStatus\Repair::class, [R::GET ]], + '/ostatus/subscribe' => [Module\OStatus\Subscribe::class, [R::GET ]], + '/poco' => [Module\User\PortableContacts::class, [R::GET ]], + '/pubsub' => [Module\OStatus\PubSub::class, [R::GET, R::POST]], + '/pubsub/{nickname}[/{cid:\d+}]' => [Module\OStatus\PubSub::class, [R::GET, R::POST]], + '/pubsubhubbub[/{nickname}]' => [Module\OStatus\PubSubHubBub::class, [ R::POST]], + '/salmon[/{nickname}]' => [Module\OStatus\Salmon::class, [ R::POST]], '/search' => [ '[/]' => [Module\Search\Index::class, [R::GET ]], From c074da2b87d0fad82f403b4d2ca7fabc2dc91f89 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 8 Jan 2023 10:00:25 +0000 Subject: [PATCH 2/3] Fix test --- tests/src/Module/Api/ApiResponseTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/src/Module/Api/ApiResponseTest.php b/tests/src/Module/Api/ApiResponseTest.php index 81636fe105..2defaf995c 100644 --- a/tests/src/Module/Api/ApiResponseTest.php +++ b/tests/src/Module/Api/ApiResponseTest.php @@ -130,7 +130,7 @@ class ApiResponseTest extends MockedTest $response = new ApiResponse($l10n, $args, new NullLogger(), $baseUrl, $twitterUser); $response->unsupported(); - self::assertEquals('{"error":"API endpoint %s %s is not implemented","error_description":"The API endpoint is currently not implemented but might be in the future."}', $response->getContent()); + self::assertEquals('{"error":"API endpoint %s %s is not implemented but might be in the future.","code":"501 Not Implemented","request":""}', $response->getContent()); } /** From 1ef9768b98be372531c9fce1adf118617cabd253 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 8 Jan 2023 13:00:58 +0100 Subject: [PATCH 3/3] Apply suggestions from code review Co-authored-by: Philipp --- src/Module/OStatus/PubSub.php | 2 +- src/Module/OStatus/PubSubHubBub.php | 2 +- src/Module/OStatus/Salmon.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Module/OStatus/PubSub.php b/src/Module/OStatus/PubSub.php index c4614855ca..5fbc529836 100644 --- a/src/Module/OStatus/PubSub.php +++ b/src/Module/OStatus/PubSub.php @@ -58,7 +58,7 @@ class PubSub extends \Friendica\BaseModule $this->logger->info('Feed arrived.', ['from' => $this->request->getRemoteAddress(), 'for' => $this->args->getCommand(), 'user-agent' => $this->server['HTTP_USER_AGENT']]); $this->logger->debug('Data stream.', ['xml' => $xml]); - $this->logger->debug('Gut request data.', ['request' => $request]); + $this->logger->debug('Got request data.', ['request' => $request]); $nickname = $this->parameters['nickname'] ?? ''; $contact_id = $this->parameters['cid'] ?? 0; diff --git a/src/Module/OStatus/PubSubHubBub.php b/src/Module/OStatus/PubSubHubBub.php index de2104b212..caaa31f98b 100644 --- a/src/Module/OStatus/PubSubHubBub.php +++ b/src/Module/OStatus/PubSubHubBub.php @@ -71,7 +71,7 @@ class PubSubHubBub extends \Friendica\BaseModule throw new HTTPException\ForbiddenException(); } - $this->logger->debug('Gut request data.', ['request' => $request]); + $this->logger->debug('Got request data.', ['request' => $request]); // Subscription request from subscriber // https://pubsubhubbub.github.io/PubSubHubbub/pubsubhubbub-core-0.4.html#rfc.section.5.1 diff --git a/src/Module/OStatus/Salmon.php b/src/Module/OStatus/Salmon.php index 64dcec22cf..889d852d96 100644 --- a/src/Module/OStatus/Salmon.php +++ b/src/Module/OStatus/Salmon.php @@ -65,7 +65,7 @@ class Salmon extends \Friendica\BaseModule protected function post(array $request = []) { $xml = Network::postdata(); - $this->logger->debug('Gut request data.', ['request' => $request]); + $this->logger->debug('Got request data.', ['request' => $request]); $nickname = $this->parameters['nickname'] ?? ''; if (empty($nickname)) {