public function testPatchRequestMethodWithMultidimArray() { $data = array('data' => array('foo' => 'bar', 'wibble' => 'wubble')); $curl = new Curl(); $curl->setHeader('X-DEBUG-TEST', 'data_values'); $curl->patch(Test::TEST_URL, $data); $this->assertEquals('{"data":{"foo":"bar","wibble":"wubble"}}', $curl->rawResponse); $this->assertEquals(json_decode(json_encode($data), false), $curl->response); }
public function testSetUrl() { $data = array('key' => 'value'); $curl = new Curl(); $curl->setHeader('X-DEBUG-TEST', 'get'); $curl->setUrl(Test::TEST_URL); $curl->delete($data); $this->assertEquals(Test::TEST_URL, $curl->base_url); $this->assertEquals('key=value', $curl->response); $curl = new Curl(); $curl->setHeader('X-DEBUG-TEST', 'get'); $curl->setUrl(Test::TEST_URL); $curl->get($data); $this->assertEquals(Test::TEST_URL, $curl->base_url); $this->assertEquals('key=value', $curl->response); $curl = new Curl(); $curl->setHeader('X-DEBUG-TEST', 'get'); $curl->setUrl(Test::TEST_URL); $curl->head($data); $this->assertEquals(Test::TEST_URL, $curl->base_url); $this->assertEquals('HEAD /?key=value HTTP/1.1', $curl->request_headers['Request-Line']); $curl = new Curl(); $curl->setHeader('X-DEBUG-TEST', 'get'); $curl->setUrl(Test::TEST_URL); $curl->options($data); $this->assertEquals(Test::TEST_URL, $curl->base_url); $this->assertEquals('key=value', $curl->response); $curl = new Curl(); $curl->setHeader('X-DEBUG-TEST', 'request_method'); $curl->setUrl(Test::TEST_URL); $curl->patch($data); $this->assertEquals(Test::TEST_URL, $curl->base_url); $this->assertEquals('PATCH', $curl->response); $curl = new Curl(); $curl->setHeader('X-DEBUG-TEST', 'post'); $curl->setUrl(Test::TEST_URL); $curl->post($data); $this->assertEquals(Test::TEST_URL, $curl->base_url); $this->assertEquals('key=value', $curl->response); $curl = new Curl(); $curl->setHeader('X-DEBUG-TEST', 'put'); $curl->setUrl(Test::TEST_URL); $curl->put($data); $this->assertEquals(Test::TEST_URL, $curl->base_url); $this->assertEquals('key=value', $curl->response); }
<?php require __DIR__ . '/vendor/autoload.php'; use Curl\Curl; // curl --request PATCH "https://httpbin.org/patch" --data "a=1&b=2&c=3" $curl = new Curl(); $curl->patch('https://httpbin.org/patch', array('a' => '1', 'b' => '2', 'c' => '3')); if ($curl->error) { echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage . "\n"; } else { echo 'Response:' . "\n"; var_dump($curl->response); }