This commit is contained in:
2020-09-08 11:46:22 +08:00
parent e21672aefa
commit 76ed7406b4
3 changed files with 70 additions and 4 deletions
+13 -3
View File
@@ -52,13 +52,22 @@ class Middleware
$last = function ($passable) use ($node) {
return Dispatch::create($node->handler, $passable)->dispatch();
};
$middleWares = $this->annotation($node);
$data = array_reduce(array_reverse($middleWares), $this->core(), $last);
$this->middleWares = [];
$data = $this->reduce($last, $this->annotation($node));
return $node->callback = $data;
}
/**
* @param $last
* @param $middleWares
* @return mixed|null
*/
private function reduce($last, $middleWares)
{
return array_reduce(array_reverse($middleWares), $this->core(), $last);
}
/**
* @param Node $node
* @return array
@@ -66,6 +75,7 @@ class Middleware
protected function annotation($node)
{
$middleWares = $this->middleWares;
$this->middleWares = [];
if (!$node->hasInterceptor()) {
return $this->annotation_limit($node, $middleWares);
}