diff --git a/HttpServer/IInterface/After.php b/HttpServer/IInterface/After.php new file mode 100644 index 00000000..808295bd --- /dev/null +++ b/HttpServer/IInterface/After.php @@ -0,0 +1,12 @@ +handler, $passable)->dispatch(); + $responseData = Dispatch::create($node->handler, $passable)->dispatch(); + response()->send($responseData, 200); + Coroutine::create(function () use ($responseData, $node) { + $node->afterDispatch($responseData); + }); }; $data = Reduce::reduce($last, $this->annotation($node)); return $node->callback = $data; diff --git a/HttpServer/Route/Node.php b/HttpServer/Route/Node.php index 417110b4..c5639111 100644 --- a/HttpServer/Route/Node.php +++ b/HttpServer/Route/Node.php @@ -100,9 +100,7 @@ class Node extends Application */ public function afterDispatch($response) { - return Reduce::reduce(function () use ($response) { - return $response; - }, $this->_after); + return call_user_func($this->_after, $response); }