1 | <?php |
||
23 | class HTTPServer extends HTTP |
||
24 | { |
||
25 | use OnWorkerStart; |
||
26 | |||
27 | /** |
||
28 | * @param swoole_http_request $swooleRequet |
||
29 | * @param swoole_http_response $swooleResponse |
||
30 | * |
||
31 | * @return int |
||
32 | */ |
||
33 | public function onRequest(swoole_http_request $swooleRequet, swoole_http_response $swooleResponse) |
||
34 | { |
||
35 | $request = SwooleServerRequest::createServerRequestFromSwoole($swooleRequet); |
||
36 | |||
37 | $response = $this->doRequest($request); |
||
38 | foreach ($response->getHeaders() as $key => $header) { |
||
39 | $swooleResponse->header($key, $response->getHeaderLine($key)); |
||
40 | } |
||
41 | foreach ($response->getCookieParams() as $key => $cookieParam) { |
||
42 | $swooleResponse->cookie($key, $cookieParam); |
||
43 | } |
||
44 | |||
45 | $swooleResponse->status($response->getStatusCode()); |
||
46 | $swooleResponse->end((string) $response->getBody()); |
||
47 | app()->shutdown($request, $response); |
||
48 | |||
49 | return 0; |
||
50 | } |
||
51 | |||
52 | /** |
||
53 | * @param ServerRequestInterface $serverRequest |
||
54 | * |
||
55 | * @return Response |
||
56 | */ |
||
57 | public function doRequest(ServerRequestInterface $serverRequest) |
||
61 | } |
||
62 |