From 991c3f91453bd3616d8edc82fd34dcfd43a0d7c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Wed, 16 Dec 2020 10:52:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HttpServer/Route/Middleware.php | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/HttpServer/Route/Middleware.php b/HttpServer/Route/Middleware.php index fd4d9b4f..c2c8350d 100644 --- a/HttpServer/Route/Middleware.php +++ b/HttpServer/Route/Middleware.php @@ -63,15 +63,13 @@ class Middleware */ protected function annotation(Node $node): array { - $middleWares = $this->middleWares; + $middleWares = $this->annotation_limit($node); + $middleWares = $this->annotation_interceptor($node, $middleWares); + foreach ($this->middleWares as $middleWare) { + $middleWares[] = $middleWare; + } $this->middleWares = []; - if (!$node->hasInterceptor()) { - return $this->annotation_limit($node, $middleWares); - } - foreach ($node->getInterceptor() as $item) { - $middleWares[] = $item; - } - return $this->annotation_limit($node, $middleWares); + return $middleWares; } @@ -80,7 +78,24 @@ class Middleware * @param $middleWares * @return array */ - protected function annotation_limit(Node $node, $middleWares): array + protected function annotation_interceptor(Node $node, $middleWares = []): array + { + if (!$node->hasInterceptor()) { + return $middleWares; + } + foreach ($node->getInterceptor() as $item) { + $middleWares[] = $item; + } + return $middleWares; + } + + + /** + * @param Node $node + * @param $middleWares + * @return array + */ + protected function annotation_limit(Node $node, $middleWares = []): array { if (!$node->hasLimits()) { return $middleWares;