56 lines
1.1 KiB
PHP
56 lines
1.1 KiB
PHP
<?php
|
|
|
|
use Phly\Http\Response;
|
|
use GuzzleHttp\Client;
|
|
use Phly\Http\ServerRequestFactory;
|
|
use Phly\Http\ServerRequest;
|
|
|
|
require __DIR__.'/vendor/autoload.php';
|
|
|
|
function send(Response $response)
|
|
{
|
|
http_response_code($response->getStatusCode());
|
|
|
|
foreach ($response->getHeaders() as $header => $values) {
|
|
header(sprintf('%s: %s', $header, implode(', ', $values)));
|
|
}
|
|
|
|
echo $response->getBody();
|
|
}
|
|
|
|
function doRequest(ServerRequest $request, Client $client)
|
|
{
|
|
$headers = [];
|
|
|
|
foreach ($request->getHeaders() as $name => $value) {
|
|
$headers[$name] = $value[0];
|
|
}
|
|
|
|
$url = sprintf(
|
|
'https://bittrex.com/api/v1.1/%s',
|
|
ltrim($request->getServerParams()['PATH_INFO'], '/')
|
|
);
|
|
|
|
unset($headers['host']);
|
|
|
|
return $client->request(
|
|
$request->getMethod(),
|
|
$url,
|
|
[
|
|
'headers' => $headers,
|
|
'body' => $request->getBody(),
|
|
]
|
|
);
|
|
}
|
|
|
|
$apiResponse = doRequest(
|
|
ServerRequestFactory::fromGlobals(),
|
|
new Client()
|
|
);
|
|
|
|
send(new Response(
|
|
$apiResponse->getBody(),
|
|
$apiResponse->getStatusCode(),
|
|
$apiResponse->getHeaders()
|
|
));
|