refactoring
This commit is contained in:
parent
351f3042d5
commit
d2d3486414
73
proxy.php
73
proxy.php
|
@ -1,73 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
use GuzzleHttp\Client;
|
|
||||||
use GuzzleHttp\Exception\ClientException;
|
|
||||||
use Phly\Http\ServerRequestFactory;
|
|
||||||
use Phly\Http\ServerRequest;
|
|
||||||
use Phly\Http\Response;
|
|
||||||
|
|
||||||
require __DIR__.'/vendor/autoload.php';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sends an HTTP response.
|
|
||||||
*
|
|
||||||
* @param Response $response
|
|
||||||
*/
|
|
||||||
function sendResponse(Response $response)
|
|
||||||
{
|
|
||||||
http_response_code($response->getStatusCode());
|
|
||||||
|
|
||||||
foreach ($response->getHeaders() as $header => $values) {
|
|
||||||
header(sprintf('%s: %s', $header, implode(', ', $values)));
|
|
||||||
}
|
|
||||||
|
|
||||||
echo $response->getBody();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Does a request to the API of Bittrex.
|
|
||||||
*
|
|
||||||
* @param ServerRequest $request
|
|
||||||
* @param Client $client
|
|
||||||
*
|
|
||||||
* @return \GuzzleHttp\Psr7\Response
|
|
||||||
*/
|
|
||||||
function doRequest(ServerRequest $request, Client $client)
|
|
||||||
{
|
|
||||||
$headers = [];
|
|
||||||
|
|
||||||
foreach ($request->getHeaders() as $name => $value) {
|
|
||||||
$headers[$name] = $value[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
$serverParams = $request->getServerParams();
|
|
||||||
$uri = isset($serverParams['PATH_INFO']) ? ltrim($serverParams['PATH_INFO']) : '';
|
|
||||||
|
|
||||||
$url = sprintf('https://bittrex.com/api/v1.1/%s', $uri);
|
|
||||||
|
|
||||||
unset($headers['host']);
|
|
||||||
|
|
||||||
return $client->request(
|
|
||||||
$request->getMethod(),
|
|
||||||
$url,
|
|
||||||
[
|
|
||||||
'headers' => $headers,
|
|
||||||
'body' => $request->getBody(),
|
|
||||||
]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
$apiResponse = doRequest(
|
|
||||||
ServerRequestFactory::fromGlobals(),
|
|
||||||
new Client()
|
|
||||||
);
|
|
||||||
} catch (ClientException $e) {
|
|
||||||
$apiResponse = $e->getResponse();
|
|
||||||
}
|
|
||||||
|
|
||||||
sendResponse(new Response(
|
|
||||||
$apiResponse->getBody(),
|
|
||||||
$apiResponse->getStatusCode(),
|
|
||||||
$apiResponse->getHeaders()
|
|
||||||
));
|
|
Loading…
Reference in a new issue