Fixed bug #36283 (SOAPClient Compression Broken).

This commit is contained in:
Dmitry Stogov 2006-02-06 10:16:15 +00:00
parent 98c15023eb
commit 529a315637

View File

@ -223,6 +223,7 @@ int make_http_soap_request(zval *this_ptr,
{
char *request;
smart_str soap_headers = {0};
smart_str soap_headers_z = {0};
int request_size, err;
php_url *phpurl = NULL;
php_stream *stream;
@ -250,7 +251,7 @@ int make_http_soap_request(zval *this_ptr,
int kind = Z_LVAL_PP(tmp) & SOAP_COMPRESSION_DEFLATE;
if ((Z_LVAL_PP(tmp) & SOAP_COMPRESSION_ACCEPT) != 0) {
smart_str_append_const(&soap_headers,"Accept-Encoding: gzip, deflate\r\n");
smart_str_append_const(&soap_headers_z,"Accept-Encoding: gzip, deflate\r\n");
}
if (level > 0) {
zval func;
@ -270,11 +271,11 @@ int make_http_soap_request(zval *this_ptr,
if (kind == SOAP_COMPRESSION_DEFLATE) {
n = 2;
ZVAL_STRING(&func, "gzcompress", 0);
smart_str_append_const(&soap_headers,"Content-Encoding: deflate\r\n");
smart_str_append_const(&soap_headers_z,"Content-Encoding: deflate\r\n");
} else {
n = 3;
ZVAL_STRING(&func, "gzencode", 0);
smart_str_append_const(&soap_headers,"Content-Encoding: gzip\r\n");
smart_str_append_const(&soap_headers_z,"Content-Encoding: gzip\r\n");
ZVAL_LONG(params[2], 1);
}
if (call_user_function(CG(function_table), (zval**)NULL, &func, &retval, n, params TSRMLS_CC) == SUCCESS &&
@ -420,6 +421,10 @@ try_again:
"Accept: text/html; text/xml; text/plain\r\n"
*/
"User-Agent: PHP SOAP 0.1\r\n");
smart_str_append(&soap_headers, &soap_headers_z);
smart_str_free(&soap_headers_z);
if (soap_version == SOAP_1_2) {
smart_str_append_const(&soap_headers,"Content-Type: application/soap+xml; charset=utf-8");
if (soapaction) {