diff --git a/http-helper/Route/Router.php b/http-helper/Route/Router.php index 5d2ab933..915995de 100644 --- a/http-helper/Route/Router.php +++ b/http-helper/Route/Router.php @@ -418,6 +418,7 @@ class Router extends HttpService implements RouterInterface public function split($path): ?array { $path = $this->addPrefix() . '/' . ltrim($path, '/'); + return [$path]; if ($path === '/') { return ['/']; } @@ -505,7 +506,7 @@ class Router extends HttpService implements RouterInterface // } // } else { // } - $node = $this->tree_search($uri->getExplode()); + $node = $this->tree_search([$uri->getPath()]); if (!($node instanceof Node)) { return null; } diff --git a/http-server/Service/Http.php b/http-server/Service/Http.php index a45b4c82..3a2303ce 100644 --- a/http-server/Service/Http.php +++ b/http-server/Service/Http.php @@ -43,14 +43,13 @@ class Http extends \Server\Abstracts\Http implements OnClose, OnConnect // TODO: Implement onRequest() method. try { $request = \Server\Constrict\Request::create($request); -// $node = $this->router->Branch_search($request); -// if (!($node instanceof Node)) { -// throw new RequestException('

HTTP 404 Not Found


Powered by Swoole', 404); -// } -// if (!(($responseData = $node->dispatch($request)) instanceof ResponseInterface)) { -// $responseData = $this->transferToResponse($responseData); -// } - $responseData = $this->transferToResponse('hello word.'); + $node = $this->router->Branch_search($request); + if (!($node instanceof Node)) { + throw new RequestException('

HTTP 404 Not Found


Powered by Swoole', 404); + } + if (!(($responseData = $node->dispatch($request)) instanceof ResponseInterface)) { + $responseData = $this->transferToResponse($responseData); + } } catch (Error | \Throwable $exception) { $responseData = $this->exceptionHandler->emit($exception, $this->response); } finally { @@ -71,15 +70,14 @@ class Http extends \Server\Abstracts\Http implements OnClose, OnConnect if (!$interface->hasContentType()) { $interface->withContentType(MsgResponse::CONTENT_TYPE_JSON); } -// $responseData = $interface->_toArray($responseData); -// if ($interface->getContentType() == MsgResponse::CONTENT_TYPE_XML) { -// $interface->stream->write(Help::toXml($responseData)); -// } else if (is_array($responseData)) { -// $interface->stream->write(json_encode($responseData)); -// } else { -// $interface->stream->write((string)$responseData); -// } - $interface->stream->write((string)$responseData); + $responseData = $interface->_toArray($responseData); + if ($interface->getContentType() == MsgResponse::CONTENT_TYPE_XML) { + $interface->stream->write(Help::toXml($responseData)); + } else if (is_array($responseData)) { + $interface->stream->write(json_encode($responseData)); + } else { + $interface->stream->write((string)$responseData); + } return $interface; }