From b781bf84257aaf04e18c8a6c99240fc90428ac35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mr=C2=B7x?= Date: Tue, 20 Apr 2021 12:12:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HttpServer/Events/OnHandshake.php | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/HttpServer/Events/OnHandshake.php b/HttpServer/Events/OnHandshake.php index 60b1f821..f2676cd1 100644 --- a/HttpServer/Events/OnHandshake.php +++ b/HttpServer/Events/OnHandshake.php @@ -11,8 +11,10 @@ use HttpServer\Http\HttpHeaders; use HttpServer\Http\HttpParams; use HttpServer\Http\Request; use HttpServer\Http\Response; +use ReflectionException; use Snowflake\Core\ArrayAccess; use Snowflake\Event; +use Snowflake\Exception\NotFindClassException; use Snowflake\Snowflake; use Swoole\Http\Request as SRequest; use Swoole\Http\Response as SResponse; @@ -119,6 +121,23 @@ class OnHandshake extends Callback $router = Snowflake::app()->getRouter(); + $sRequest = $this->sRequest($request); + + if (($node = $router->find_path($sRequest)) !== null) { + return $node->dispatch($sRequest, Response::create($response)); + } + return $this->disconnect($response, 404); + } + + + /** + * @param $request + * @return Request + * @throws ReflectionException + * @throws NotFindClassException + */ + private function sRequest($request): Request + { /** @var Request $sRequest */ $sRequest = Request::create($request); $sRequest->uri = '/' . Socket::HANDSHAKE . '::event'; @@ -131,12 +150,7 @@ class OnHandshake extends Callback $sRequest->params = new HttpParams([], $request->get, []); $sRequest->parseUri(); - - if (($node = $router->find_path($sRequest)) === null) { - var_dump($node); - return $node->dispatch($sRequest, Response::create($response)); - } - return $this->disconnect($response, 404); + return $sRequest; }