diff --git a/HttpServer/Events/OnRequest.php b/HttpServer/Events/OnRequest.php index 4e0bb2f9..76705739 100644 --- a/HttpServer/Events/OnRequest.php +++ b/HttpServer/Events/OnRequest.php @@ -36,7 +36,26 @@ class OnRequest extends Callback */ public function onHandler(Request $request, Response $response) { - $this->onRequest($request, $response); + Coroutine::defer([$this, 'onAfter']); + try { + /** @var HRequest $sRequest */ + [$sRequest, $sResponse] = $this->create($request, $response); + if ($sRequest->is('favicon.ico')) { + $sResponse->send($sRequest->isNotFound(), 200); + } else { + Snowflake::app()->getRouter()->dispatch(); + } + } catch (ExitException $exception) { + send($exception->getMessage(), $exception->getCode()); + } catch (Error | \Throwable $exception) { + $this->sendErrorMessage($exception); + } finally { + $logger = Snowflake::app()->getLogger(); + + $request = get_object_vars($request); + + $logger->write(Json::encode($request), 'request'); + } } @@ -48,36 +67,6 @@ class OnRequest extends Callback fire(Event::EVENT_AFTER_REQUEST); } - /** - * @param Request $request - * @param Response $response - * @return mixed - * @throws - */ - public function onRequest(Request $request, Response $response): mixed - { - Coroutine::defer([$this, 'onAfter']); - try { - /** @var HRequest $sRequest */ - [$sRequest, $sResponse] = $this->create($request, $response); - if ($sRequest->is('favicon.ico')) { - return $sResponse->send($sRequest->isNotFound(), 200); - } else { - return Snowflake::app()->getRouter()->dispatch(); - } - } catch (ExitException $exception) { - return send($exception->getMessage(), $exception->getCode()); - } catch (Error | \Throwable $exception) { - return $this->sendErrorMessage($exception); - } finally { - $logger = Snowflake::app()->getLogger(); - - $request = get_object_vars($request); - - $logger->write(Json::encode($request), 'request'); - } - } - /** * @param $request diff --git a/HttpServer/Server.php b/HttpServer/Server.php index 41419f48..0792e915 100644 --- a/HttpServer/Server.php +++ b/HttpServer/Server.php @@ -319,6 +319,7 @@ class Server extends Application * @return \Swoole\Server|Packet|Receive|Http|Websocket|null * @throws NotFindClassException * @throws ReflectionException + * @throws Exception */ private function dispatchCreate($config, $settings): \Swoole\Server|Packet|Receive|Http|Websocket|null {