diff options
Diffstat (limited to 'src/AbstractStrategy.php')
| -rw-r--r-- | src/AbstractStrategy.php | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/AbstractStrategy.php b/src/AbstractStrategy.php deleted file mode 100644 index a68f5c1..0000000 --- a/src/AbstractStrategy.php +++ /dev/null @@ -1,44 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Lightscale\Router; - -use InvalidArgumentException; -use Lightscale\Router\Contracts\Middleware; -use Lightscale\Router\Contracts\Strategy; -use Psr\Http\Message\RequestInterface; -use Psr\Http\Message\ResponseInterface; -use Psr\Http\Message\ServerRequestInterface; - -abstract class AbstractStrategy implements Strategy -{ - /** - * @param Middleware[] $middlewares - * @param callable(RequestInterface): ResponseInterface $handler - */ - public function runMiddleware( - RequestInterface $request, - array $middlewares, - callable $handler, - ): ResponseInterface { - $handler = count($middlewares) > 0 ? array_reduce( - array_reverse($middlewares), - fn (callable $handler, Middleware $middleware) => fn (ServerRequestInterface $request) => $middleware->handle($request, $handler), - $handler - ) : $handler; - - return $handler($request); - } - - public function parseParameters(array $parameters): array - { - foreach ($parameters as $key => $value) { - if (!is_string($value)) { - throw new InvalidArgumentException("Parameter {$key} is not a string."); - } - } - - return $parameters; - } -} |
