From: Dmitry Stogov Date: Mon, 20 Mar 2006 10:36:55 +0000 (+0000) Subject: Fixed bug #36749 (SOAP: 'Error Fetching http body' when using HTTP Proxy) X-Git-Tag: php-5.1.3RC2~79 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=110021f4c71a3be04457d5f3f3695313247621e1;p=php Fixed bug #36749 (SOAP: 'Error Fetching http body' when using HTTP Proxy) --- diff --git a/ext/soap/php_http.c b/ext/soap/php_http.c index 697cf7e285..34e55b2bf3 100644 --- a/ext/soap/php_http.c +++ b/ext/soap/php_http.c @@ -811,7 +811,22 @@ try_again: efree(cookie); } - if (!get_http_body(stream, !http_1_1, http_headers, &http_body, &http_body_size TSRMLS_CC)) { + if (http_1_1) { + http_close = FALSE; + if (use_proxy && !use_ssl) { + connection = get_http_header_value(http_headers,"Proxy-Connection: "); + if (connection) { + if (strncasecmp(connection, "close", sizeof("close")-1) == 0) { + http_close = TRUE; + } + efree(connection); + } + } + } else { + http_close = TRUE; + } + + if (!get_http_body(stream, http_close, http_headers, &http_body, &http_body_size TSRMLS_CC)) { if (request != buf) {efree(request);} php_stream_close(stream); efree(http_headers);