requestLogger = $requestLogger; $this->httpClient = $httpClient; } public function onOpen(ConnectionInterface $connection, RequestInterface $request = null) { $loggedRequest = $this->requestLogger->findLoggedRequest(QueryParameters::create($request)->get('log')); if (is_null($loggedRequest)) { $connection->send( str(new Response( 404, ['Content-Type' => 'application/json'], )) ); $connection->close(); return; } $requestData = $loggedRequest->getRequestData(); /** @var HttpClient $tunnel */ $this->httpClient->performRequest($requestData); $connection->send( str(new Response( 200, ['Content-Type' => 'application/json'], '' )) ); $connection->close(); } }