dmitry Mon Mar 20 10:36:55 2006 UTC
Modified files: (Branch: PHP_5_1)
/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.77.2.9&r2=1.77.2.10&diff_format=u
Index: php-src/ext/soap/php_http.c
diff -u php-src/ext/soap/php_http.c:1.77.2.9
php-src/ext/soap/php_http.c:1.77.2.10
--- php-src/ext/soap/php_http.c:1.77.2.9 Tue Feb 7 12:57:28 2006
+++ php-src/ext/soap/php_http.c Mon Mar 20 10:36:55 2006
@@ -17,7 +17,7 @@
| Dmitry Stogov <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_http.c,v 1.77.2.9 2006/02/07 12:57:28 dmitry Exp $ */
+/* $Id: php_http.c,v 1.77.2.10 2006/03/20 10:36:55 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