tests
This commit is contained in:
parent
7a46198d05
commit
351f3042d5
2
Makefile
2
Makefile
|
@ -5,4 +5,4 @@ all:
|
|||
$(COMPOSER) install
|
||||
|
||||
server:
|
||||
$(PHP) -S 127.0.0.1:8080
|
||||
$(PHP) -S 127.0.0.1:8080 -t .
|
||||
|
|
71
index.php
Normal file
71
index.php
Normal file
|
@ -0,0 +1,71 @@
|
|||
<?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'."\n", $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();
|
||||
$url = sprintf('https://gitnet.fr%s', $serverParams['PATH_INFO'] ?? $serverParams['REQUEST_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();
|
||||
}
|
||||
|
||||
return sendResponse(new Response(
|
||||
$apiResponse->getBody(),
|
||||
$apiResponse->getStatusCode(),
|
||||
$apiResponse->getHeaders()
|
||||
));
|
Loading…
Reference in a new issue