/**
  * @param $curl_handle
  *
  * @throws \Exception
  * @return http_response
  */
 protected function sendRequest($curl_handle)
 {
     $httpResponse = new http_response();
     $response = curl_exec($curl_handle);
     //$error = curl_error($curl_handle);
     list($headers, $body) = explode("\r\n\r\n", $response, 2);
     // sometimes there is an "HTTP/1.1 100 Continue\r\n\r\n" before the actual response
     // that has to be parsed out because php curl does a dual phase post when post
     // is over 1024 chars. This is a problem when calling save segment web services.
     if (strpos($headers, " 100 Continue") != false) {
         list($headers, $body) = explode("\r\n\r\n", $body, 2);
     }
     $httpResponse->setBody($body);
     $httpResponse->setHeaders(explode("\r\n", $headers));
     $httpResponse->setStatusCode(curl_getinfo($curl_handle, CURLINFO_HTTP_CODE));
     curl_close($curl_handle);
     if ($httpResponse->getStatusCode() >= 400) {
         throw new \Exception("HTTP Response Error\n" . (string) $httpResponse, $httpResponse->getStatusCode());
     }
     return $httpResponse;
 }
 /**
  * @param $curl_handle
  *
  * @throws \Exception
  * @return http_response
  */
 protected function sendRequest($curl_handle)
 {
     $httpResponse = new http_response();
     $response = curl_exec($curl_handle);
     list($headers, $body) = explode("\r\n\r\n", $response, 2);
     $httpResponse->setBody($body);
     $httpResponse->setHeaders(explode("\r\n", $headers));
     $httpResponse->setStatusCode(curl_getinfo($curl_handle, CURLINFO_HTTP_CODE));
     curl_close($curl_handle);
     if ($httpResponse->getStatusCode() >= 400) {
         throw new \Exception("HTTP Response Error\n" . (string) $httpResponse);
     }
     return $httpResponse;
 }