Commit dd13f8dc authored by Dries's avatar Dries

- Patch #8344 by Kjartan: drupal_http_request() did not always handle EOLs
  correctly.
parent 8176ad40
......@@ -340,22 +340,18 @@ function drupal_http_request($url, $headers = array(), $method = 'GET', $data =
fclose($fp);
// Parse response.
$response = preg_split("/\r\n|\n|\r/", $response);
list($protocol, $code, $text) = explode(' ', trim(array_shift($response)), 3);
list($headers, $result->data) = explode("\r\n\r\n", $response, 2);
$headers = preg_split("/\r\n|\n|\r/", $headers);
list($protocol, $code, $text) = explode(' ', trim(array_shift($headers)), 3);
$result->headers = array();
$result->data = '';
// Parse headers.
while ($line = trim(array_shift($response))) {
if ($line == '') {
break;
}
while ($line = trim(array_shift($headers))) {
list($header, $value) = explode(':', $line, 2);
$result->headers[$header] = trim($value);
}
$result->data = implode('', $response);
$responses = array(
100 => 'Continue', 101 => 'Switching Protocols',
200 => 'OK', 201 => 'Created', 202 => 'Accepted', 203 => 'Non-Authoritative Information', 204 => 'No Content', 205 => 'Reset Content', 206 => 'Partial Content',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment