From 15eba181a045998ba4565c390cfc7accfc06120d Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Thu, 8 Dec 2022 10:10:23 -0500 Subject: [PATCH 1/2] Initialize parameter with $server for all Router cases including Maintenance mode - Address https://github.com/friendica/friendica/issues/11992#issuecomment-1339614287 - Address https://github.com/friendica/friendica/issues/11992#issuecomment-1339909728 --- src/App/Router.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/App/Router.php b/src/App/Router.php index 5b915c0e6..9dac021b3 100644 --- a/src/App/Router.php +++ b/src/App/Router.php @@ -150,6 +150,8 @@ class Router if ($this->baseRoutesFilepath && !file_exists($this->baseRoutesFilepath)) { throw new HTTPException\InternalServerErrorException('Routes file path does\'n exist.'); } + + $this->parameters = [$this->server]; } /** @@ -293,8 +295,6 @@ class Router $dispatcher = new FriendicaGroupCountBased($this->getCachedDispatchData()); - $this->parameters = [$this->server]; - try { // Check if the HTTP method is OPTIONS and return the special Options Module with the possible HTTP methods if ($this->args->getMethod() === static::OPTIONS) { From d9e69fc5431facc9c9beba28aa38b1ef7b8873d3 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Thu, 8 Dec 2022 10:10:40 -0500 Subject: [PATCH 2/2] Fix OPTIONS responses --- src/App/Router.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/App/Router.php b/src/App/Router.php index 9dac021b3..ba11ae433 100644 --- a/src/App/Router.php +++ b/src/App/Router.php @@ -299,12 +299,12 @@ class Router // Check if the HTTP method is OPTIONS and return the special Options Module with the possible HTTP methods if ($this->args->getMethod() === static::OPTIONS) { $this->moduleClass = Options::class; - $this->parameters = ['allowedMethods' => $dispatcher->getOptions($cmd)]; + $this->parameters[] = ['AllowedMethods' => $dispatcher->getOptions($cmd)]; } else { $routeInfo = $dispatcher->dispatch($this->args->getMethod(), $cmd); if ($routeInfo[0] === Dispatcher::FOUND) { $this->moduleClass = $routeInfo[1]; - $this->parameters[] = $routeInfo[2]; + $this->parameters[] = $routeInfo[2]; } else if ($routeInfo[0] === Dispatcher::METHOD_NOT_ALLOWED) { throw new HTTPException\MethodNotAllowedException($this->l10n->t('Method not allowed for this module. Allowed method(s): %s', implode(', ', $routeInfo[1]))); } else {