diff --git a/src/Function/middleware.php b/src/Function/middleware.php new file mode 100644 index 0000000..8aba761 --- /dev/null +++ b/src/Function/middleware.php @@ -0,0 +1,17 @@ +middleware = $middleware; + } + + public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface + { + return call_user_func($this->middleware, $request, $handler); + } +} diff --git a/src/Middleware/PathMiddlewareDecorator.php b/src/Middleware/PathMiddlewareDecorator.php new file mode 100644 index 0000000..795e5f4 --- /dev/null +++ b/src/Middleware/PathMiddlewareDecorator.php @@ -0,0 +1,25 @@ +getUri()->getPath() ?: '/'; + if (str_starts_with($path, $this->path)) { + return $this->middleware->process($request, $handler); + } + + return $handler->handle($request); + } +}