public function testPostRequest() { $curl = new Curl(); $curl->setMethod('POST'); $curl->setOption(CURLOPT_URL, 'http://httpbin.org/post'); $curl->setBody(['foo' => 23, 'bar' => 42]); $response = $curl->execute(); $data = json_decode($response); $this->assertEquals(['foo' => 23, 'bar' => 42], (array) $data->form); }
/** * @param \Blar\Curl\Curl $curl Curl. * @param \Blar\Http\HttpResponse $response Response. * @return $this */ protected function configureCurl(Curl $curl, HttpResponse $response) { $curl->setMethod($this->getMethod()); $curl->setUrl($this->getUrl()); if ($this->getHeaders()) { $headers = $this->createHeadersArray($this->getHeaders()); $curl->setOption(CURLOPT_HTTPHEADER, $headers); } if ($this->getBody()) { $curl->setBody($this->getBody()); } $curl->setHeaderCallback(function ($header) use($response) { $response->setHeaderLine($header); }); $curl->setWriteCallback(function ($part) use($response) { $response->addBodyPart($part); }); return $this; }