mirror of
https://github.com/php-curl-class/php-curl-class.git
synced 2026-08-31 20:52:45 +00:00
Fix #686: Build url without using data parameter
This commit is contained in:
@@ -276,7 +276,7 @@ class MultiCurl
|
||||
|
||||
$curl = new Curl($this->baseUrl);
|
||||
$this->queueHandle($curl);
|
||||
$this->setUrl($url, $data);
|
||||
$this->setUrl($url);
|
||||
|
||||
if (is_array($data) && empty($data)) {
|
||||
$curl->removeHeader('Content-Length');
|
||||
|
||||
@@ -4135,4 +4135,31 @@ class CurlTest extends \PHPUnit\Framework\TestCase
|
||||
$this->assertFalse($test_3->curl->curlError);
|
||||
$this->assertFalse($test_3->curl->httpError);
|
||||
}
|
||||
|
||||
public function testPostDataArray()
|
||||
{
|
||||
$data = ['key' => 'value'];
|
||||
|
||||
$curl = new Curl();
|
||||
$curl->setHeader('X-DEBUG-TEST', 'post');
|
||||
$curl->post(Test::TEST_URL, $data);
|
||||
|
||||
$this->assertEquals('POST / HTTP/1.1', $curl->requestHeaders['Request-Line']);
|
||||
$this->assertEquals(Test::TEST_URL, $curl->url);
|
||||
$this->assertEquals(Test::TEST_URL, $curl->effectiveUrl);
|
||||
}
|
||||
|
||||
public function testPostDataString()
|
||||
{
|
||||
$data = str_repeat('-', 100);
|
||||
|
||||
$curl = new Curl();
|
||||
$curl->setHeader('X-DEBUG-TEST', 'post_json');
|
||||
$curl->post(Test::TEST_URL, $data);
|
||||
|
||||
$this->assertEquals('POST / HTTP/1.1', $curl->requestHeaders['Request-Line']);
|
||||
$this->assertEquals(Test::TEST_URL, $curl->url);
|
||||
$this->assertEquals(Test::TEST_URL, $curl->effectiveUrl);
|
||||
$this->assertEquals($data, $curl->response);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4716,4 +4716,41 @@ class MultiCurlTest extends \PHPUnit\Framework\TestCase
|
||||
$multi_curl->setMaximumRedirects(3);
|
||||
$this->assertEquals(3, $multi_curl->getOpt(CURLOPT_MAXREDIRS));
|
||||
}
|
||||
|
||||
public function testPostDataArray()
|
||||
{
|
||||
$data = ['key' => 'value'];
|
||||
|
||||
$multi_curl = new MultiCurl();
|
||||
$multi_curl->setHeader('X-DEBUG-TEST', 'post');
|
||||
$multi_curl->addPost(Test::TEST_URL, $data);
|
||||
$multi_curl->complete(function ($instance) {
|
||||
\PHPUnit\Framework\Assert::assertEquals(
|
||||
'POST / HTTP/1.1',
|
||||
$instance->requestHeaders['Request-Line']
|
||||
);
|
||||
\PHPUnit\Framework\Assert::assertEquals(Test::TEST_URL, $instance->url);
|
||||
\PHPUnit\Framework\Assert::assertEquals(Test::TEST_URL, $instance->effectiveUrl);
|
||||
});
|
||||
$multi_curl->start();
|
||||
}
|
||||
|
||||
public function testPostDataString()
|
||||
{
|
||||
$data = str_repeat('-', 100);
|
||||
|
||||
$multi_curl = new MultiCurl();
|
||||
$multi_curl->setHeader('X-DEBUG-TEST', 'post_json');
|
||||
$multi_curl->addPost(Test::TEST_URL, $data);
|
||||
$multi_curl->complete(function ($instance) use ($data) {
|
||||
\PHPUnit\Framework\Assert::assertEquals(
|
||||
'POST / HTTP/1.1',
|
||||
$instance->requestHeaders['Request-Line']
|
||||
);
|
||||
\PHPUnit\Framework\Assert::assertEquals(Test::TEST_URL, $instance->url);
|
||||
\PHPUnit\Framework\Assert::assertEquals(Test::TEST_URL, $instance->effectiveUrl);
|
||||
\PHPUnit\Framework\Assert::assertEquals($data, $instance->response);
|
||||
});
|
||||
$multi_curl->start();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user