protected function doRequest(RequestInterface $request): ResponseInterface
    {
        $settings = $this->createCurlSettingsArray($request);

        if (!$this->curlHandle) {
            $this->curlHandle = curl_init();
        } else {
            curl_reset($this->curlHandle);
        }

        curl_setopt_array($this->curlHandle, $settings);
        $response = $this->curlExec($this->curlHandle);
        $response = $this->parseResponse($response, $this->curlHandle);
        if (self::STATUS_CURLERROR === $response['status']) {
            throw new ClientException($response['curl_errmsg'], $response['curl_errno']);
        }

        return $response['response'];
    }
protected function doRequest(RequestInterface $request): ResponseInterface
    {
        $settings = $this->createCurlSettingsArray($request);

        if (!$this->curlHandle) {
            $this->curlHandle = curl_init();
        } else {
            curl_reset($this->curlHandle);
        }

        curl_setopt_array($this->curlHandle, $settings);
        $response = $this->curlExec($this->curlHandle);
        $response = $this->parseResponse($response, $this->curlHandle);
        if (self::STATUS_CURLERROR === $response['status']) {
            throw new ClientException($response['curl_errmsg'], $response['curl_errno']);
        }

        return $response['response'];
    }
protected function doRequest ( RequestInterface $ request ) : ResponseInterface { $ settings = $ this -> createCurlSettingsArray ( $ request ) ; if ( ! $ this -> curlHandle ) { $ this -> curlHandle = curl_init ( ) ; } else { curl_reset ( $ this -> curlHandle ) ; } curl_setopt_array ( $ this -> curlHandle , $ settings ) ; $ response = $ this -> curlExec ( $ this -> curlHandle ) ; $ response = $ this -> parseResponse ( $ response , $ this -> curlHandle ) ; if ( self :: STATUS_CURLERROR === $ response [ 'status' ] ) { throw new ClientException ( $ response [ 'curl_errmsg' ] , $ response [ 'curl_errno' ] ) ; } return $ response [ 'response' ] ; }
This method is responsible for performing a single request.
This method is responsible for performing a single request .