This commit is contained in:
2020-09-09 10:42:16 +08:00
parent 286ee22d18
commit 8ae7ca9a18
4 changed files with 34 additions and 6 deletions
+19
View File
@@ -5,6 +5,7 @@ namespace HttpServer\Route;
use Closure;
use HttpServer\IInterface\After;
class Reduce
{
@@ -21,6 +22,24 @@ class Reduce
}
/**
* @param $middleWares
* @return mixed|null
*/
public static function after($middleWares)
{
return array_reduce(array_reverse($middleWares), function ($stack, $pipe) {
return function ($passable) use ($stack, $pipe) {
if ($pipe instanceof After) {
return $pipe->onHandler($passable, $stack);
} else {
return $pipe($passable, $stack);
}
};
});
}
/**
* @return Closure
*/