diff --git a/src/RouterCollector.php b/src/RouterCollector.php index 9a7484e..68eca25 100644 --- a/src/RouterCollector.php +++ b/src/RouterCollector.php @@ -130,7 +130,6 @@ class RouterCollector implements \ArrayAccess, \IteratorAggregate } } $hashMap->put('handler', $handler); - $this->registerMiddleware($handler->getClass(), $handler->getMethod()); } @@ -144,7 +143,8 @@ class RouterCollector implements \ArrayAccess, \IteratorAggregate */ public function registerMiddleware(string $class, string $method): void { - $middlewares = array_column($this->groupTack, 'middleware'); + $middlewares = Kiri::service()->get('request')->middlewares; + $middlewares = [...$middlewares, ...array_column($this->groupTack, 'middleware')]; if (count($middlewares) > 0) { $manager = Kiri::getDi()->get(Middleware::class); foreach ($middlewares as $middleware) { diff --git a/src/Server.php b/src/Server.php index a48b7f1..e3623fe 100644 --- a/src/Server.php +++ b/src/Server.php @@ -91,7 +91,7 @@ class Server implements OnRequestInterface $request_uri = $request->getMethod() == 'OPTIONS' ? '/*' : $request->server['request_uri']; $dispatcher = $this->router->query($request_uri, $request->getMethod()); - $middleware = $this->request->middlewares; + $middleware = []; if (!($dispatcher instanceof Kiri\Router\Base\NotFoundController)) { $middlewareManager = \Kiri::getDi()->get(MiddlewareManager::class);