示例#1
0
文件: CurlTest.php 项目: blar/curl
 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);
 }
示例#2
0
文件: HttpRequest.php 项目: blar/http
 /**
  * @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;
 }