Merge pull request #12637 from annando/ostatus-subscription

OStatus: Fix PubSubHubBub subscription
This commit is contained in:
Hypolite Petovan 2023-01-08 07:58:22 -05:00 committed by GitHub
commit 0ae7a53daa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 7 deletions

View file

@ -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('Got request data.', ['request' => $request]);
$nickname = $this->parameters['nickname'] ?? '';
$contact_id = $this->parameters['cid'] ?? 0;

View file

@ -71,6 +71,8 @@ class PubSubHubBub extends \Friendica\BaseModule
throw new HTTPException\ForbiddenException();
}
$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
// Example from GNU Social:

View file

@ -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('Got request data.', ['request' => $request]);
$nickname = $this->parameters['nickname'] ?? '';
if (empty($nickname)) {

View file

@ -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 ]],