fix middleware closure reference not working

This commit is contained in:
crazywhalecc
2022-08-21 16:07:01 +08:00
parent 22d38b783d
commit 75e65b082e

View File

@@ -75,8 +75,6 @@ class MiddlewareHandler
public function getPipeClosure(callable $callback, $stack_id) public function getPipeClosure(callable $callback, $stack_id)
{ {
unset($this->stack[$stack_id]);
/** @noinspection PhpUnnecessaryLocalVariableInspection */
$pipe_func = function (array $mid_list, ...$args) use ($callback, $stack_id, &$pipe_func) { $pipe_func = function (array $mid_list, ...$args) use ($callback, $stack_id, &$pipe_func) {
$return = true; $return = true;
try { try {
@@ -130,6 +128,7 @@ class MiddlewareHandler
} }
return $result ?? $after_result ?? $exception_result ?? null; return $result ?? $after_result ?? $exception_result ?? null;
}; };
unset($this->stack[$stack_id]);
return $pipe_func; return $pipe_func;
} }