diff --git a/src/RouterCollector.php b/src/RouterCollector.php index 911e77a..227984e 100644 --- a/src/RouterCollector.php +++ b/src/RouterCollector.php @@ -219,13 +219,26 @@ class RouterCollector implements \ArrayAccess, \IteratorAggregate public function registerMiddleware(string $class, string $method): array { $response = []; -// $middlewares = \request()->middlewares; -// if (count($middlewares) > 0) { -// $response = $this->appendMiddleware($response, $middlewares); -// } + $middlewares = \config('servers.request.middlewares', []); + if (is_array($middlewares) && count($middlewares) > 0) { + $response = $this->appendMiddleware($response, $middlewares); + } $middlewares = array_column($this->groupTack, 'middleware'); $response = $this->appendMiddleware($response, $middlewares); + return $this->read_method_middleware($response, $class, $method); + } + + + /** + * @param array $response + * @param string $class + * @param string $method + * @return array + * @throws ReflectionException + */ + private function read_method_middleware(array $response, string $class, string $method): array + { $reflect = \Kiri::getDi()->getReflectionClass($class); $attributes = $reflect->getMethod($method)->getAttributes(Annotate\Middleware::class);