diff --git a/HttpServer/Route/Node.php b/HttpServer/Route/Node.php index f4318438..fa04f040 100644 --- a/HttpServer/Route/Node.php +++ b/HttpServer/Route/Node.php @@ -395,9 +395,6 @@ class Node extends Application */ public function addMiddleware(Closure|string|array $class) { - if (!is_callable($class, true)) { - return; - } if (is_string($class)) { $class = Snowflake::createObject($class); if (!($class instanceof \HttpServer\IInterface\Middleware)) { @@ -405,7 +402,12 @@ class Node extends Application } $class = [$class, 'onHandler']; } - $this->middleware[] = $class; + if (!is_array($class) || is_object($class[0])) { + $class = [$class]; + } + foreach ($class as $closure) { + $this->middleware[] = $closure; + } $this->restructure(); }