Bitpay\Client\Adapter\CurlAdapter::sendRequest PHP Method

sendRequest() public method

public sendRequest ( Bitpay\Client\RequestInterface $request )
$request Bitpay\Client\RequestInterface
    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;
    }

Usage Example

Example #1
0
 public function testSendRequestWithoutException()
 {
     $curl_options = array(CURLOPT_URL => "www.bitpay.com", CURLOPT_SSL_VERIFYPEER => 1, CURLOPT_SSL_VERIFYHOST => 2);
     $adapter = new CurlAdapter($curl_options);
     $response = $adapter->sendRequest($this->request);
     $this->assertNotNull($response);
 }