fixes #24
allows for an extra param to decode json objects into associative arrays
This commit is contained in:
@@ -4,30 +4,30 @@ namespace Unirest;
|
|||||||
|
|
||||||
class HttpResponse
|
class HttpResponse
|
||||||
{
|
{
|
||||||
|
|
||||||
private $code;
|
private $code;
|
||||||
private $raw_body;
|
private $raw_body;
|
||||||
private $body;
|
private $body;
|
||||||
private $headers;
|
private $headers;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param int $code response code of the cURL request
|
* @param int $code response code of the cURL request
|
||||||
* @param string $raw_body the raw body of the cURL response
|
* @param string $raw_body the raw body of the cURL response
|
||||||
* @param string $headers raw header string from cURL response
|
* @param string $headers raw header string from cURL response
|
||||||
*/
|
*/
|
||||||
public function __construct($code, $raw_body, $headers)
|
public function __construct($code, $raw_body, $headers, $json_decode_assoc = false)
|
||||||
{
|
{
|
||||||
$this->code = $code;
|
$this->code = $code;
|
||||||
$this->headers = $this->get_headers_from_curl_response($headers);
|
$this->headers = $this->get_headers_from_curl_response($headers);
|
||||||
$this->raw_body = $raw_body;
|
$this->raw_body = $raw_body;
|
||||||
$this->body = $raw_body;
|
$this->body = $raw_body;
|
||||||
$json = json_decode($raw_body);
|
$json = json_decode($raw_body, $json_decode_assoc);
|
||||||
|
|
||||||
if (json_last_error() == JSON_ERROR_NONE) {
|
if (json_last_error() == JSON_ERROR_NONE) {
|
||||||
$this->body = $json;
|
$this->body = $json;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return a property of the response if it exists.
|
* Return a property of the response if it exists.
|
||||||
* Possibilities include: code, raw_body, headers, body (if the response is json-decodable)
|
* Possibilities include: code, raw_body, headers, body (if the response is json-decodable)
|
||||||
@@ -39,7 +39,7 @@ class HttpResponse
|
|||||||
return $this->$property;
|
return $this->$property;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the properties of this object
|
* Set the properties of this object
|
||||||
* @param string $property the property name
|
* @param string $property the property name
|
||||||
@@ -52,7 +52,7 @@ class HttpResponse
|
|||||||
}
|
}
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve the cURL response headers from the
|
* Retrieve the cURL response headers from the
|
||||||
* header string and convert it into an array
|
* header string and convert it into an array
|
||||||
@@ -63,15 +63,15 @@ class HttpResponse
|
|||||||
{
|
{
|
||||||
$headers = explode("\r\n", $headers);
|
$headers = explode("\r\n", $headers);
|
||||||
array_shift($headers);
|
array_shift($headers);
|
||||||
|
|
||||||
foreach ($headers as $line) {
|
foreach ($headers as $line) {
|
||||||
if (strstr($line, ': ')) {
|
if (strstr($line, ': ')) {
|
||||||
list($key, $value) = explode(': ', $line);
|
list($key, $value) = explode(': ', $line);
|
||||||
$result[$key] = $value;
|
$result[$key] = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user