diff --git a/src/Curl/MultiCurl.php b/src/Curl/MultiCurl.php index 9ea2421..e3fb322 100755 --- a/src/Curl/MultiCurl.php +++ b/src/Curl/MultiCurl.php @@ -247,7 +247,7 @@ class MultiCurl } $this->queueHandle($curl); - $this->setUrl($url, $data); + $this->setUrl($url); $curl->setUrl($url); $curl->setOpt(CURLOPT_CUSTOMREQUEST, 'PATCH'); $curl->setOpt(CURLOPT_POSTFIELDS, $curl->buildPostData($data)); @@ -315,7 +315,7 @@ class MultiCurl $curl = new Curl($this->baseUrl); $this->queueHandle($curl); - $this->setUrl($url, $data); + $this->setUrl($url); $curl->setUrl($url); $curl->setOpt(CURLOPT_CUSTOMREQUEST, 'PUT'); $put_data = $curl->buildPostData($data); @@ -344,7 +344,7 @@ class MultiCurl $curl = new Curl($this->baseUrl); $this->queueHandle($curl); - $this->setUrl($url, $data); + $this->setUrl($url); $curl->setUrl($url); $curl->setOpt(CURLOPT_CUSTOMREQUEST, 'SEARCH'); $put_data = $curl->buildPostData($data); diff --git a/tests/PHPCurlClass/PHPCurlClassTest.php b/tests/PHPCurlClass/PHPCurlClassTest.php index a09e534..5a475e9 100644 --- a/tests/PHPCurlClass/PHPCurlClassTest.php +++ b/tests/PHPCurlClass/PHPCurlClassTest.php @@ -4193,4 +4193,81 @@ class CurlTest extends \PHPUnit\Framework\TestCase $this->assertEquals(Test::TEST_URL, $curl->effectiveUrl); $this->assertEquals($data, $curl->response); } + + public function testPatchDataArray() + { + $data = ['key' => 'value']; + + $curl = new Curl(); + $curl->setHeader('X-DEBUG-TEST', 'patch'); + $curl->patch(Test::TEST_URL, $data); + + $this->assertEquals('PATCH / HTTP/1.1', $curl->requestHeaders['Request-Line']); + $this->assertEquals(Test::TEST_URL, $curl->url); + } + + public function testPatchDataString() + { + $data = str_repeat('-', 100); + + $curl = new Curl(); + $curl->setHeader('X-DEBUG-TEST', 'patch_json'); + $curl->patch(Test::TEST_URL, $data); + + $this->assertEquals('PATCH / 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); + } + + public function testPutDataArray() + { + $data = ['key' => 'value']; + + $curl = new Curl(); + $curl->setHeader('X-DEBUG-TEST', 'put'); + $curl->put(Test::TEST_URL, $data); + + $this->assertEquals('PUT / HTTP/1.1', $curl->requestHeaders['Request-Line']); + $this->assertEquals(Test::TEST_URL, $curl->url); + } + + public function testPutDataString() + { + $data = str_repeat('-', 100); + + $curl = new Curl(); + $curl->setHeader('X-DEBUG-TEST', 'put_json'); + $curl->put(Test::TEST_URL, $data); + + $this->assertEquals('PUT / HTTP/1.1', $curl->requestHeaders['Request-Line']); + $this->assertEquals(Test::TEST_URL, $curl->url); + $this->assertEquals(Test::TEST_URL, $curl->effectiveUrl); + } + + public function testSearchDataArray() + { + $data = ['key' => 'value']; + + $curl = new Curl(); + $curl->setHeader('X-DEBUG-TEST', 'search'); + $curl->search(Test::TEST_URL, $data); + + $this->assertEquals('SEARCH / HTTP/1.1', $curl->requestHeaders['Request-Line']); + $this->assertEquals(Test::TEST_URL, $curl->url); + $this->assertEquals(Test::TEST_URL, $curl->effectiveUrl); + } + + public function testSearchDataString() + { + $data = str_repeat('-', 100); + + $curl = new Curl(); + $curl->setHeader('X-DEBUG-TEST', 'search_json'); + $curl->search(Test::TEST_URL, $data); + + $this->assertEquals('SEARCH / HTTP/1.1', $curl->requestHeaders['Request-Line']); + $this->assertEquals(Test::TEST_URL, $curl->url); + $this->assertEquals(Test::TEST_URL, $curl->effectiveUrl); + } } diff --git a/tests/PHPCurlClass/PHPMultiCurlClassTest.php b/tests/PHPCurlClass/PHPMultiCurlClassTest.php index 23e9ffe..37c8acd 100644 --- a/tests/PHPCurlClass/PHPMultiCurlClassTest.php +++ b/tests/PHPCurlClass/PHPMultiCurlClassTest.php @@ -4832,4 +4832,112 @@ class MultiCurlTest extends \PHPUnit\Framework\TestCase }); $multi_curl->start(); } + + public function testPatchDataArray() + { + $data = ['key' => 'value']; + + $multi_curl = new MultiCurl(); + $multi_curl->setHeader('X-DEBUG-TEST', 'patch'); + $multi_curl->addPatch(Test::TEST_URL, $data); + $multi_curl->complete(function ($instance) { + \PHPUnit\Framework\Assert::assertEquals( + 'PATCH / 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 testPatchDataString() + { + $data = str_repeat('-', 100); + + $multi_curl = new MultiCurl(); + $multi_curl->setHeader('X-DEBUG-TEST', 'patch_json'); + $multi_curl->addPatch(Test::TEST_URL, $data); + $multi_curl->complete(function ($instance) use ($data) { + \PHPUnit\Framework\Assert::assertEquals( + 'PATCH / 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 testPutDataArray() + { + $data = ['key' => 'value']; + + $multi_curl = new MultiCurl(); + $multi_curl->setHeader('X-DEBUG-TEST', 'put'); + $multi_curl->addPut(Test::TEST_URL, $data); + $multi_curl->complete(function ($instance) { + \PHPUnit\Framework\Assert::assertEquals( + 'PUT / 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 testPutDataString() + { + $data = str_repeat('-', 100); + + $multi_curl = new MultiCurl(); + $multi_curl->setHeader('X-DEBUG-TEST', 'put_json'); + $multi_curl->addPut(Test::TEST_URL, $data); + $multi_curl->complete(function ($instance) use ($data) { + \PHPUnit\Framework\Assert::assertEquals( + 'PUT / 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 testSearchDataArray() + { + $data = ['key' => 'value']; + + $multi_curl = new MultiCurl(); + $multi_curl->setHeader('X-DEBUG-TEST', 'search'); + $multi_curl->addSearch(Test::TEST_URL, $data); + $multi_curl->complete(function ($instance) { + \PHPUnit\Framework\Assert::assertEquals( + 'SEARCH / 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 testSearchDataString() + { + $data = str_repeat('-', 100); + + $multi_curl = new MultiCurl(); + $multi_curl->setHeader('X-DEBUG-TEST', 'search_json'); + $multi_curl->addSearch(Test::TEST_URL, $data); + $multi_curl->complete(function ($instance) use ($data) { + \PHPUnit\Framework\Assert::assertEquals( + 'SEARCH / 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(); + } }