dmitry Mon Mar 20 10:37:09 2006 UTC
Modified files:
/php-src/ext/soap php_http.c
Log:
Fixed bug #36749 (SOAP: 'Error Fetching http body' when using HTTP Proxy)
http://cvs.php.net/viewcvs.cgi/php-src/ext/soap/php_http.c?r1=1.87&r2=1.88&diff_format=u
Index: php-src/ext/soap/php_http.c
diff -u php-src/ext/soap/php_http.c:1.87 php-src/ext/soap/php_http.c:1.88
--- php-src/ext/soap/php_http.c:1.87 Sun Feb 19 04:29:41 2006
+++ php-src/ext/soap/php_http.c Mon Mar 20 10:37:09 2006
@@ -17,7 +17,7 @@
| Dmitry Stogov <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_http.c,v 1.87 2006/02/19 04:29:41 andi Exp $ */
+/* $Id: php_http.c,v 1.88 2006/03/20 10:37:09 dmitry Exp $ */
#include "php_soap.h"
#include "ext/standard/base64.h"
@@ -811,7 +811,22 @@
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);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php