From d37ee1b399c7f03e301b9cb70ed32b95ebaa65b5 Mon Sep 17 00:00:00 2001 From: Friendika Date: Mon, 7 Feb 2011 23:20:38 -0800 Subject: [PATCH] at least one server is giving CURL a second set of headers (and it isn't a 100 continue which we've already accounted for) --- boot.php | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/boot.php b/boot.php index c8722caa7b..3714f588b4 100644 --- a/boot.php +++ b/boot.php @@ -626,7 +626,16 @@ function fetch_url($url,$binary = false, &$redirects = 0) { } } $a->set_curl_code($http_code); + $body = substr($s,strlen($header)+4); + + /* one more try to make sure there are no more headers */ + + if(strpos($body,'HTTP/') === 0) { + $header = substr($body,0,strpos($body,"\r\n\r\n")); + $body = substr($body,strlen($header)+4); + } + $a->set_curl_headers($header); curl_close($ch); @@ -690,6 +699,14 @@ function post_url($url,$params, $headers = null, &$redirects = 0) { } $a->set_curl_code($http_code); $body = substr($s,strlen($header)+4); + + /* one more try to make sure there are no more headers */ + + if(strpos($body,'HTTP/') === 0) { + $header = substr($body,0,strpos($body,"\r\n\r\n")); + $body = substr($body,strlen($header)+4); + } + $a->set_curl_headers($header); curl_close($ch);