diff --git a/HttpServer/Events/OnRequest.php b/HttpServer/Events/OnRequest.php index c5215547..3b203ac2 100644 --- a/HttpServer/Events/OnRequest.php +++ b/HttpServer/Events/OnRequest.php @@ -37,9 +37,7 @@ class OnRequest extends Callback public function onHandler(Request $request, Response $response) { try { - Coroutine::defer(function () { - fire(Event::EVENT_AFTER_REQUEST, [$sRequest ?? null]); - }); + Coroutine::defer([$this, 'onDefer']); /** @var HRequest $sRequest */ [$sRequest, $sResponse] = [HRequest::create($request), HResponse::create($response)]; if ($sRequest->is('favicon.ico')) { @@ -52,6 +50,16 @@ class OnRequest extends Callback } } + + /** + * @throws \Snowflake\Exception\ComponentException + */ + public function onDefer() + { + fire(Event::EVENT_AFTER_REQUEST); + } + + /** * @param $response * @throws Exception diff --git a/HttpServer/Route/Router.php b/HttpServer/Route/Router.php index 62c0e05b..6d7487b8 100644 --- a/HttpServer/Route/Router.php +++ b/HttpServer/Route/Router.php @@ -481,9 +481,9 @@ class Router extends Application implements RouterInterface } else if (!($node = $this->find_path(\request()))) { $response = send(self::NOT_FOUND, 404); } else { + var_dump($node); $response = send($node->dispatch(), 200); } - var_dump($response); } catch (ExitException $exception) { $response = send($exception->getMessage(), $exception->getCode()); } catch (\Throwable $exception) { @@ -492,9 +492,7 @@ class Router extends Application implements RouterInterface if (!isset($node) || !($node instanceof Node)) { return; } - if ($node->hasAfter()) { - $node->afterDispatch($response ?? null); - } + $node->hasAfter() && $node->afterDispatch($response ?? null); } }