kopia lustrzana https://github.com/nextcloud/social
fix: Handle when required `resource` parameter is missing or empty
Signed-off-by: Josh <josh.t.richards@gmail.com>pull/1951/head
rodzic
c78d7d5122
commit
af1444ec63
|
@ -97,6 +97,12 @@ class WebfingerHandler implements IHandler {
|
|||
*/
|
||||
public function handleWebfinger(IRequestContext $context, ?IResponse $previousResponse): ?IResponse {
|
||||
$subject = $this->getSubjectFromRequest($context->getHttpRequest());
|
||||
|
||||
// the `resource` parameter is required
|
||||
if ($subject === null || $subject === '') {
|
||||
return new JrdResponse('', Http::STATUS_BAD_REQUEST);
|
||||
}
|
||||
|
||||
if (str_starts_with($subject, 'acct:')) {
|
||||
$subject = substr($subject, 5);
|
||||
}
|
||||
|
@ -216,8 +222,11 @@ class WebfingerHandler implements IHandler {
|
|||
|
||||
// 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);
|
||||
|
||||
$requestUri = $request->getRequestUri();
|
||||
if ($requestUri !== '') {
|
||||
parse_str(parse_url($requestUri, PHP_URL_QUERY), $query);
|
||||
}
|
||||
|
||||
return $query['resource'] ?? '';
|
||||
}
|
||||
}
|
||||
|
|
Ładowanie…
Reference in New Issue