From 49f2d624ba76f802b282492864150506b22f8002 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Fri, 24 Sep 2021 18:24:46 +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 --- http-handler/Abstracts/MiddlewareManager.php | 5 +++-- http-server/Service/Http.php | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/http-handler/Abstracts/MiddlewareManager.php b/http-handler/Abstracts/MiddlewareManager.php index 0d0df477..317f86e1 100644 --- a/http-handler/Abstracts/MiddlewareManager.php +++ b/http-handler/Abstracts/MiddlewareManager.php @@ -5,6 +5,7 @@ namespace Http\Handler\Abstracts; use Closure; +use Co\Iterator; use Kiri\Abstracts\BaseObject; @@ -33,12 +34,12 @@ class MiddlewareManager extends BaseObject static::$_middlewares[$class] = []; } if (!isset(static::$_middlewares[$class][$method])) { - static::$_middlewares[$class][$method] = []; + static::$_middlewares[$class][$method] = new Iterator(); } if (is_string($middlewares)) { $middlewares = [$middlewares]; } - $source = &static::$_middlewares[$class][$method]; + $source = static::$_middlewares[$class][$method]; foreach ($middlewares as $middleware) { if (isset($source[$middleware])) { continue; diff --git a/http-server/Service/Http.php b/http-server/Service/Http.php index 4ec93ebf..b7bc0b59 100644 --- a/http-server/Service/Http.php +++ b/http-server/Service/Http.php @@ -114,7 +114,7 @@ class Http implements OnCloseInterface, OnConnectInterface, OnRequestInterface { $middlewares = MiddlewareManager::get($handler->callback); - $dispatcher = new Dispatcher($handler, empty($middlewares) ? null : new Iterator($middlewares)); + $dispatcher = new Dispatcher($handler, $middlewares); return $dispatcher->handle($PsrRequest); }