This commit is contained in:
2021-09-24 18:24:46 +08:00
parent bc16f47f4f
commit 49f2d624ba
2 changed files with 4 additions and 3 deletions
+3 -2
View File
@@ -5,6 +5,7 @@ namespace Http\Handler\Abstracts;
use Closure; use Closure;
use Co\Iterator;
use Kiri\Abstracts\BaseObject; use Kiri\Abstracts\BaseObject;
@@ -33,12 +34,12 @@ class MiddlewareManager extends BaseObject
static::$_middlewares[$class] = []; static::$_middlewares[$class] = [];
} }
if (!isset(static::$_middlewares[$class][$method])) { if (!isset(static::$_middlewares[$class][$method])) {
static::$_middlewares[$class][$method] = []; static::$_middlewares[$class][$method] = new Iterator();
} }
if (is_string($middlewares)) { if (is_string($middlewares)) {
$middlewares = [$middlewares]; $middlewares = [$middlewares];
} }
$source = &static::$_middlewares[$class][$method]; $source = static::$_middlewares[$class][$method];
foreach ($middlewares as $middleware) { foreach ($middlewares as $middleware) {
if (isset($source[$middleware])) { if (isset($source[$middleware])) {
continue; continue;
+1 -1
View File
@@ -114,7 +114,7 @@ class Http implements OnCloseInterface, OnConnectInterface, OnRequestInterface
{ {
$middlewares = MiddlewareManager::get($handler->callback); $middlewares = MiddlewareManager::get($handler->callback);
$dispatcher = new Dispatcher($handler, empty($middlewares) ? null : new Iterator($middlewares)); $dispatcher = new Dispatcher($handler, $middlewares);
return $dispatcher->handle($PsrRequest); return $dispatcher->handle($PsrRequest);
} }