From 323a2d30ed517881887afacd7b0e466485bdccbf Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 20 Mar 2006 10:37:09 +0000 Subject: Fixed bug #36749 (SOAP: 'Error Fetching http body' when using HTTP Proxy) --- ext/soap/php_http.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'ext/soap/php_http.c') diff --git a/ext/soap/php_http.c b/ext/soap/php_http.c index 1652853bcf..cb7622fdff 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); -- cgit v1.2.1