- a service implemented with libxmlrpc-c3 chokes on a request content type
[m6w6/ext-http] / http_response_object.c
index 6f6cf4dab10bb503bf4074a5bcc670948af68cbb..8b00412771d531ee6c6e051e6c9fadc119354ebb 100644 (file)
@@ -209,7 +209,7 @@ PHP_MINIT_FUNCTION(http_response_object)
        DCL_STATIC_PROP_N(PROTECTED, cacheControl);
        DCL_STATIC_PROP_N(PROTECTED, contentType);
        DCL_STATIC_PROP_N(PROTECTED, contentDisposition);
-       DCL_STATIC_PROP(PROTECTED, long, bufferSize, HTTP_SENDBUF_SIZE);
+       DCL_STATIC_PROP(PROTECTED, long, bufferSize, 0);
        DCL_STATIC_PROP(PROTECTED, double, throttleDelay, 0.0);
 
 #ifndef WONKY
@@ -1094,7 +1094,11 @@ PHP_METHOD(HttpResponse, send)
                cctl = convert_to_type_ex(IS_STRING, GET_STATIC_PROP(cacheControl), &cctl_p);
                
                if (Z_LVAL_P(lmod) || Z_STRLEN_P(etag)) {
-                       http_send_cache_control(Z_STRVAL_P(cctl), Z_STRLEN_P(cctl));
+                       if (Z_STRLEN_P(cctl)) {
+                               http_send_cache_control(Z_STRVAL_P(cctl), Z_STRLEN_P(cctl));
+                       } else {
+                               http_send_cache_control(HTTP_DEFAULT_CACHECONTROL, lenof(HTTP_DEFAULT_CACHECONTROL));
+                       }
                        if (Z_STRLEN_P(etag)) {
                                http_send_etag(Z_STRVAL_P(etag), Z_STRLEN_P(etag));
                        }
@@ -1150,11 +1154,8 @@ PHP_METHOD(HttpResponse, send)
        }
 
        /* gzip */
-       HTTP_G->send.deflate.encoding = zval_is_true(GET_STATIC_PROP(gzip));
+       HTTP_G->send.deflate.response = zval_is_true(GET_STATIC_PROP(gzip));
        
-       /* start ob */
-       php_start_ob_buffer(NULL, HTTP_G->send.buffer_size, 0 TSRMLS_CC);
-
        /* send */
        switch (Z_LVAL_P(GET_STATIC_PROP(mode))) {
                case SEND_DATA:
@@ -1209,7 +1210,7 @@ PHP_METHOD(HttpResponse, capture)
        UPD_STATIC_PROP(long, catch, 1);
 
        php_end_ob_buffers(0 TSRMLS_CC);
-       php_start_ob_buffer(NULL, 40960, 0 TSRMLS_CC);
+       php_start_ob_buffer(NULL, 0, 0 TSRMLS_CC);
 
        /* register shutdown function */
        {