mirror of
https://github.com/ovh/php-ovh.git
synced 2023-11-05 03:20:26 +01:00
Update rawCall
request creation logic
All the data are computed before `Request` creation. It allow to perform a simple `new Request` with all the analysis result. Headers are set with authentication, URI is cleaned...
This commit is contained in:
parent
3203897e05
commit
3cfd9e4b30
24
src/Api.php
24
src/Api.php
@ -221,9 +221,11 @@ class Api
|
|||||||
private function rawCall($method, $path, $content = null, $is_authenticated = true, $headers = null)
|
private function rawCall($method, $path, $content = null, $is_authenticated = true, $headers = null)
|
||||||
{
|
{
|
||||||
$url = $this->endpoint . $path;
|
$url = $this->endpoint . $path;
|
||||||
$request = new Request($method, $url);
|
$uri = new Uri($url);
|
||||||
|
$body = null;
|
||||||
|
|
||||||
if (isset($content) && $method == 'GET') {
|
if (isset($content) && $method == 'GET') {
|
||||||
$query_string = $request->getUri()->getQuery();
|
$query_string = $uri->getQuery();
|
||||||
|
|
||||||
$query = array();
|
$query = array();
|
||||||
if (!empty($query_string)) {
|
if (!empty($query_string)) {
|
||||||
@ -246,16 +248,9 @@ class Api
|
|||||||
}
|
}
|
||||||
|
|
||||||
$query = \GuzzleHttp\Psr7\build_query($query);
|
$query = \GuzzleHttp\Psr7\build_query($query);
|
||||||
|
$uri = $uri->withQuery($query);
|
||||||
$url = $request->getUri()->withQuery($query);
|
|
||||||
$request = $request->withUri($url);
|
|
||||||
$body = "";
|
|
||||||
} elseif (isset($content)) {
|
} elseif (isset($content)) {
|
||||||
$body = json_encode($content);
|
$body = json_encode($content);
|
||||||
|
|
||||||
$request->getBody()->write($body);
|
|
||||||
} else {
|
|
||||||
$body = "";
|
|
||||||
}
|
}
|
||||||
if(!is_array($headers))
|
if(!is_array($headers))
|
||||||
{
|
{
|
||||||
@ -281,8 +276,15 @@ class Api
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$request = new Request(
|
||||||
|
$method,
|
||||||
|
$uri,
|
||||||
|
$headers,
|
||||||
|
$body
|
||||||
|
);
|
||||||
|
|
||||||
/** @var Response $response */
|
/** @var Response $response */
|
||||||
return $this->http_client->send($request, ['headers' => $headers]);
|
return $this->getHttpClient()->sendRequest($request);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user