diff options
author | Maxence Lange <maxence@artificial-owl.com> | 2023-06-15 14:35:42 -0100 |
---|---|---|
committer | Louis Chemineau <louis@chmn.me> | 2023-06-28 14:03:24 +0200 |
commit | acceb582ed68aa5535daf73e14c899b10f4f6f67 (patch) | |
tree | 2b0aab4de1c13d54309120a006a032a12a78d705 /lib | |
parent | bea293487e0a08b046236af78183dabd1799b1eb (diff) |
minor fix
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Db/StreamRequestBuilder.php | 2 | ||||
-rw-r--r-- | lib/WellKnown/WebfingerHandler.php | 16 |
2 files changed, 16 insertions, 2 deletions
diff --git a/lib/Db/StreamRequestBuilder.php b/lib/Db/StreamRequestBuilder.php index 8071e733..e6ad134b 100644 --- a/lib/Db/StreamRequestBuilder.php +++ b/lib/Db/StreamRequestBuilder.php @@ -142,7 +142,7 @@ class StreamRequestBuilder extends CoreRequestBuilder { protected function timelineHomeLinkCacheActor( SocialQueryBuilder $qb, string $alias = 'ca', string $aliasFollow = 'f' ) { - $qb->linkToCacheActors($alias, 'attributed_to_prim'); + $qb->linkToCacheActors($alias, 's.attributed_to_prim'); $expr = $qb->expr(); $orX = $expr->orX(); diff --git a/lib/WellKnown/WebfingerHandler.php b/lib/WellKnown/WebfingerHandler.php index 1ffd8889..1d445079 100644 --- a/lib/WellKnown/WebfingerHandler.php +++ b/lib/WellKnown/WebfingerHandler.php @@ -38,6 +38,7 @@ use OCP\AppFramework\Http; use OCP\Http\WellKnown\IHandler; use OCP\Http\WellKnown\IRequestContext; use OCP\Http\WellKnown\IResponse; +use OCP\IRequest; use OCP\IURLGenerator; class WebfingerHandler implements IHandler { @@ -111,7 +112,7 @@ class WebfingerHandler implements IHandler { * @return IResponse|null */ public function handleWebfinger(IRequestContext $context, ?IResponse $previousResponse): ?IResponse { - $subject = $context->getHttpRequest()->getParam('resource') ?? ''; + $subject = $this->getSubjectFromRequest($context->getHttpRequest()); if (str_starts_with($subject, 'acct:')) { $subject = substr($subject, 5); } @@ -222,4 +223,17 @@ class WebfingerHandler implements IHandler { return $response; } + + private function getSubjectFromRequest(IRequest $request): string { + $subject = $request->getParam('resource') ?? ''; + if ($subject !== '') { + return $subject; + } + + // work around to extract resource: + // on some setup (i.e. tests) the data are not available from IRequest + parse_str(parse_url($request->getRequestUri(), PHP_URL_QUERY), $query); + + return $query['resource'] ?? ''; + } } |