getStatusCode()); foreach ($response->getHeaders() as $header => $values) { if (strtolower($header) === 'content-type') { header(sprintf('%s: %s', $header, implode('; ', $values))); } } $body = $response->getBody(); echo $body; return $body; } /** * Does a request to the API of Bittrex. * * @param ServerRequest $request * @param Client $client * * @return \GuzzleHttp\Psr7\Response */ function doRequest(ServerRequest $request, Client $client, $host) { $headers = []; foreach ($request->getHeaders() as $name => $value) { $headers[$name] = $value[0]; } $serverParams = $request->getServerParams(); $path = !empty($serverParams['PATH_INFO']) ? $serverParams['PATH_INFO'] : $serverParams['REQUEST_URI']; $url = $host.$path; unset($headers['host']); return $client->request( $request->getMethod(), $url, [ 'headers' => $headers, 'body' => $request->getBody(), ] ); } try { $apiResponse = doRequest( ServerRequestFactory::fromGlobals(), new Client(), getenv('PHP_PROXY_REMOTEHOST') ); } catch (ClientException $e) { $apiResponse = $e->getResponse(); } return sendResponse(new Response( $apiResponse->getBody(), $apiResponse->getStatusCode(), $apiResponse->getHeaders() ));