1
0
mirror of https://github.com/ovh/php-ovh.git synced 2023-11-05 03:20:26 +01:00

Introduce a decodeResponse method.

This new method allow to perform a `rawCall` call and retrieve the full response instance.
It'll help to manipulate response more easily.

Signed-off-by: Stéphane HULARD <s.hulard@chstudio.fr>
This commit is contained in:
Stéphane HULARD 2016-02-27 20:30:17 +01:00
parent 25a97501a1
commit 940ec307fb

View File

@ -192,11 +192,13 @@ class Api
$parameters->redirection = $redirection; $parameters->redirection = $redirection;
//bypass authentication for this call //bypass authentication for this call
$response = $this->rawCall( $response = $this->decodeResponse(
$this->rawCall(
'POST', 'POST',
'/auth/credential', '/auth/credential',
$parameters, $parameters,
false false
)
); );
$this->consumer_key = $response["consumerKey"]; $this->consumer_key = $response["consumerKey"];
@ -220,7 +222,6 @@ class Api
{ {
$url = $this->endpoint . $path; $url = $this->endpoint . $path;
$request = new Request($method, $url); $request = new Request($method, $url);
if (isset($content) && $method == 'GET') { if (isset($content) && $method == 'GET') {
$query_string = $request->getUri()->getQuery(); $query_string = $request->getUri()->getQuery();
@ -261,7 +262,6 @@ class Api
} else { } else {
$body = ""; $body = "";
} }
$headers = [ $headers = [
'Content-Type' => 'application/json; charset=utf-8', 'Content-Type' => 'application/json; charset=utf-8',
'X-Ovh-Application' => $this->application_key, 'X-Ovh-Application' => $this->application_key,
@ -285,8 +285,18 @@ class Api
} }
/** @var Response $response */ /** @var Response $response */
$response = $this->http_client->send($request, ['headers' => $headers]); return $this->http_client->send($request, ['headers' => $headers]);
}
/**
* Decode a Response object body to an Array
*
* @param Response $response
*
* @return array
*/
private function decodeResponse(Response $response)
{
return json_decode($response->getBody(), true); return json_decode($response->getBody(), true);
} }
@ -301,7 +311,9 @@ class Api
*/ */
public function get($path, $content = null) public function get($path, $content = null)
{ {
return $this->rawCall("GET", $path, $content); return $this->decodeResponse(
$this->rawCall("GET", $path, $content)
);
} }
/** /**
@ -315,7 +327,9 @@ class Api
*/ */
public function post($path, $content = null) public function post($path, $content = null)
{ {
return $this->rawCall("POST", $path, $content); return $this->decodeResponse(
$this->rawCall("POST", $path, $content)
);
} }
/** /**
@ -329,7 +343,9 @@ class Api
*/ */
public function put($path, $content) public function put($path, $content)
{ {
return $this->rawCall("PUT", $path, $content); return $this->decodeResponse(
$this->rawCall("PUT", $path, $content)
);
} }
/** /**
@ -343,7 +359,9 @@ class Api
*/ */
public function delete($path, $content = null) public function delete($path, $content = null)
{ {
return $this->rawCall("DELETE", $path, $content); return $this->decodeResponse(
$this->rawCall("DELETE", $path, $content)
);
} }
/** /**