From 8f2f5e3373cd90c4ad5e87df45724a7261ebd37a Mon Sep 17 00:00:00 2001 From: Matias Griese Date: Tue, 7 Dec 2021 13:13:35 +0200 Subject: [PATCH] Fixed RequestHandlers `NotFoundException` having empty request --- .../RequestHandler/Exception/NotFoundException.php | 8 -------- .../Framework/RequestHandler/RequestHandler.php | 14 ++++++++++++-- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/system/src/Grav/Framework/RequestHandler/Exception/NotFoundException.php b/system/src/Grav/Framework/RequestHandler/Exception/NotFoundException.php index 28a226a4e..40c9e0a81 100644 --- a/system/src/Grav/Framework/RequestHandler/Exception/NotFoundException.php +++ b/system/src/Grav/Framework/RequestHandler/Exception/NotFoundException.php @@ -21,9 +21,6 @@ use function in_array; */ class NotFoundException extends RequestException { - /** @var ServerRequestInterface */ - private $request; - /** * NotFoundException constructor. * @param ServerRequestInterface $request @@ -37,9 +34,4 @@ class NotFoundException extends RequestException parent::__construct($request, 'Not Found', 404, $previous); } } - - public function getRequest(): ServerRequestInterface - { - return $this->request; - } } diff --git a/system/src/Grav/Framework/RequestHandler/RequestHandler.php b/system/src/Grav/Framework/RequestHandler/RequestHandler.php index 5b0380583..edd3178ff 100644 --- a/system/src/Grav/Framework/RequestHandler/RequestHandler.php +++ b/system/src/Grav/Framework/RequestHandler/RequestHandler.php @@ -12,9 +12,11 @@ declare(strict_types=1); namespace Grav\Framework\RequestHandler; use Grav\Framework\RequestHandler\Traits\RequestHandlerTrait; +use Pimple\Container; use Psr\Container\ContainerInterface; use Psr\Http\Server\MiddlewareInterface; use Psr\Http\Server\RequestHandlerInterface; +use function assert; /** * Class RequestHandler @@ -47,7 +49,11 @@ class RequestHandler implements RequestHandlerInterface */ public function addCallable(string $name, callable $callable): self { - $this->container[$name] = $callable; + if (null !== $this->container) { + assert($this->container instanceof Container); + $this->container[$name] = $callable; + } + array_unshift($this->middleware, $name); return $this; @@ -62,7 +68,11 @@ class RequestHandler implements RequestHandlerInterface */ public function addMiddleware(string $name, MiddlewareInterface $middleware): self { - $this->container[$name] = $middleware; + if (null !== $this->container) { + assert($this->container instanceof Container); + $this->container[$name] = $middleware; + } + array_unshift($this->middleware, $name); return $this;