public function handleRequest(ConnectionInterface $conn, Request $request, $bodyBuffer) { $response = new HttpResponse($conn); $response->on('close', array($request, 'close')); if (!$this->listeners('request')) { $response->end(); return; } $this->emit('request', array($request, $response)); $request->emit('data', array($bodyBuffer)); }
protected function setupResponseLogging(\React\Http\Request $request, HttpResponse $response) { $timeLocal = date('d/M/Y:H:i:s O'); $response->on('end', function () use($request, $response, $timeLocal) { $requestString = $request->getMethod() . ' ' . $request->getPath() . ' HTTP/' . $request->getHttpVersion(); $statusCode = $response->getStatusCode(); if ($response->getStatusCode() < 400) { $requestString = "<info>{$requestString}</info>"; $statusCode = "<info>{$statusCode}</info>"; } $message = str_replace(['$remote_addr', '$remote_user', '$time_local', '$request', '$status', '$bytes_sent', '$http_referer', '$http_user_agent'], [$_SERVER['REMOTE_ADDR'], '-', $timeLocal, $requestString, $statusCode, $response->getBytesSent(), isset($request->getHeaders()['Referer']) ? $request->getHeaders()['Referer'] : '-', isset($request->getHeaders()['User-Agent']) ? $request->getHeaders()['User-Agent'] : '-'], $this->logFormat); if ($response->getStatusCode() >= 400) { $message = "<error>{$message}</error>"; } $this->sendMessage($this->controller, 'log', ['message' => $message]); }); }