Check if $body is traversable before recursively sanitizing (allows for raw JSON body)
Add testRawPost()
This commit is contained in:
@@ -172,8 +172,12 @@
|
||||
$ch = curl_init();
|
||||
if ($httpMethod != HttpMethod::GET) {
|
||||
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, $httpMethod);
|
||||
if( is_array($body) || $body instanceof Traversable ) {
|
||||
Unirest::http_build_query_for_curl($body, $postBody);
|
||||
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postBody);
|
||||
} else {
|
||||
curl_setopt ($ch, CURLOPT_POSTFIELDS, $body);
|
||||
}
|
||||
} else if (is_array($body)) {
|
||||
if (strpos($url,'?') !== false) {
|
||||
$url .= "&";
|
||||
|
||||
@@ -90,6 +90,19 @@ class UnirestTest extends UnitTestCase
|
||||
$this->assertEqual("thefosk", $form->nick);
|
||||
}
|
||||
|
||||
public function testRawPost()
|
||||
{
|
||||
$response = Unirest::post("http://httpbin.org/post", array( "Accept" => "application/json" ),
|
||||
json_encode(array(
|
||||
"author" => "Sam Sullivan"
|
||||
)));
|
||||
|
||||
$this->assertEqual(200, $response->code);
|
||||
|
||||
$json = $response->body->json;
|
||||
$this->assertEqual("Sam Sullivan", $json->author);
|
||||
}
|
||||
|
||||
public function testUpload() {
|
||||
$response = Unirest::post("http://httpbin.org/post", array( "Accept" => "application/json" ),
|
||||
array(
|
||||
|
||||
Reference in New Issue
Block a user