/** * @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; }