Inheritance: implements Bitpay\Client\ResponseInterface
 /**
  * @inheritdoc
  */
 public function sendRequest(\Bitpay\Client\Request $request)
 {
     $curl = curl_init();
     if ($curl === false) {
         throw new \Exception('[ERROR] In CurlAdapter::sendRequest(): Could not initialize cURL.');
     }
     $default_curl_options = $this->getCurlDefaultOptions($request);
     foreach ($this->getCurlOptions() as $curl_option_key => $curl_option_value) {
         if (is_null($curl_option_value) === false) {
             $default_curl_options[$curl_option_key] = $curl_option_value;
         }
     }
     curl_setopt_array($curl, $default_curl_options);
     if (RequestInterface::METHOD_POST == $request->getMethod()) {
         curl_setopt_array($curl, array(CURLOPT_POST => 1, CURLOPT_POSTFIELDS => $request->getBody()));
     }
     $raw = curl_exec($curl);
     if ($raw === false) {
         $errorMessage = curl_error($curl);
         curl_close($curl);
         throw new \Exception('[ERROR] In CurlAdapter::sendRequest(): curl_exec failed with the error "' . $errorMessage . '".');
     }
     /** @var Response */
     $response = Response::createFromRawResponse($raw);
     curl_close($curl);
     return $response;
 }
Example #2
0
 /**
  * @inheritdoc
  */
 public function sendRequest(RequestInterface $request)
 {
     $curl = curl_init();
     $default_curl_options = $this->getCurlDefaultOptions($request);
     foreach ($this->getCurlOptions() as $curl_option_key => $curl_option_value) {
         if (!is_null($curl_option_value)) {
             $default_curl_options[$curl_option_key] = $curl_option_value;
         }
     }
     curl_setopt_array($curl, $default_curl_options);
     if (RequestInterface::METHOD_POST == $request->getMethod()) {
         curl_setopt_array($curl, array(CURLOPT_POST => 1, CURLOPT_POSTFIELDS => $request->getBody()));
     }
     $raw = curl_exec($curl);
     if (false === $raw) {
         $errorMessage = curl_error($curl);
         curl_close($curl);
         throw new \Bitpay\Client\ConnectionException($errorMessage);
     }
     /** @var ResponseInterface */
     $response = Response::createFromRawResponse($raw);
     curl_close($curl);
     return $response;
 }