refactored client options
[m6w6/ext-http] / php_http_env_response.c
index 5f493a6234b6c4cb3316a598be196671564b0955..d88fb72841386e6eec7372ace3c1783f62fd3ea6 100644 (file)
@@ -182,12 +182,17 @@ static size_t output(void *context, char *buf, size_t len TSRMLS_DC)
        /*      we really only need to flush when throttling is enabled,
                because we push the data as fast as possible anyway if not */
        if (r->throttle.delay >= PHP_HTTP_DIFFSEC) {
+#if PHP_VERSION_ID >= 50400
                if (php_output_get_level(TSRMLS_C)) {
                        php_output_flush_all(TSRMLS_C);
                }
                if (!(php_output_get_status(TSRMLS_C) & PHP_OUTPUT_IMPLICITFLUSH)) {
                        sapi_flush(TSRMLS_C);
                }
+#else
+               php_end_ob_buffer(1, 1 TSRMLS_CC);
+               sapi_flush(TSRMLS_C);
+#endif
                php_http_sleep(r->throttle.delay);
        }
        return len;
@@ -196,8 +201,8 @@ static size_t output(void *context, char *buf, size_t len TSRMLS_DC)
 #define php_http_env_response_send_done(r) php_http_env_response_send_data((r), NULL, 0)
 static STATUS php_http_env_response_send_data(php_http_env_response_t *r, const char *buf, size_t len)
 {
-       TSRMLS_FETCH_FROM_CTX(r->ts);
        size_t chunk = r->throttle.chunk ? r->throttle.chunk : PHP_HTTP_SENDBUF_SIZE;
+       TSRMLS_FETCH_FROM_CTX(r->ts);
 
        if (r->content.encoder) {
                char *enc_str = NULL;
@@ -381,7 +386,7 @@ static STATUS php_http_env_response_send_head(php_http_env_response_t *r)
                        php_http_buffer_t buf;
 
                        php_http_buffer_init(&buf);
-                       if (php_http_params_to_string(&buf, Z_ARRVAL_P(zoption_copy), ZEND_STRL(","), ZEND_STRL(";"), ZEND_STRL("=") TSRMLS_CC)) {
+                       if (php_http_params_to_string(&buf, Z_ARRVAL_P(zoption_copy), ZEND_STRL(","), ZEND_STRL(";"), ZEND_STRL("="), PHP_HTTP_PARAMS_DEFAULT TSRMLS_CC)) {
                                ret = php_http_env_set_response_header_format(0, 1 TSRMLS_CC, "Content-Disposition: %s", PHP_HTTP_BUFFER_VAL(&buf));
                        }