Fix Curl::unsetHeader()

This commit is contained in:
Zach Borboa
2016-09-24 01:02:04 -07:00
parent 126491d8fc
commit cc23a1b29e
3 changed files with 51 additions and 0 deletions
+5
View File
@@ -1068,6 +1068,11 @@ class Curl
public function unsetHeader($key)
{
unset($this->headers[$key]);
$headers = array();
foreach ($this->headers as $key => $value) {
$headers[] = $key . ': ' . $value;
}
$this->setOpt(CURLOPT_HTTPHEADER, $headers);
}
/**
+21
View File
@@ -2979,4 +2979,25 @@ class CurlTest extends PHPUnit_Framework_TestCase
$this->assertEquals($expected_url, $actual_url);
}
}
public function testUnsetHeader()
{
$request_key = 'X-Request-Id';
$request_value = '1';
$data = array(
'test' => 'server',
'key' => 'HTTP_X_REQUEST_ID',
);
$curl = new Curl();
$curl->setHeader($request_key, $request_value);
$curl->get(Test::TEST_URL, $data);
$this->assertEquals($request_value, $curl->response);
$curl = new Curl();
$curl->setHeader($request_key, $request_value);
$curl->unsetHeader($request_key);
$curl->get(Test::TEST_URL, $data);
$this->assertEquals('', $curl->response);
}
}
@@ -2383,4 +2383,29 @@ class MultiCurlTest extends PHPUnit_Framework_TestCase
$this->assertNotEmpty($stderr);
}
public function testUnsetHeader()
{
$request_key = 'X-Request-Id';
$request_value = '1';
$data = array(
'test' => 'server',
'key' => 'HTTP_X_REQUEST_ID',
);
$multi_curl = new MultiCurl();
$multi_curl->setHeader($request_key, $request_value);
$multi_curl->addGet(Test::TEST_URL, $data)->complete(function ($instance) use ($request_value) {
PHPUnit_Framework_Assert::assertEquals($request_value, $instance->response);
});
$multi_curl->start();
$multi_curl = new MultiCurl();
$multi_curl->setHeader($request_key, $request_value);
$multi_curl->unsetHeader($request_key);
$multi_curl->addGet(Test::TEST_URL, $data)->complete(function ($instance) {
PHPUnit_Framework_Assert::assertEquals('', $instance->response);
});
$multi_curl->start();
}
}