X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_response_object.c;h=366cf9dddff0de8c0455707a062186bdd516145c;hp=93c8f0c82193ca56993cb02928a12f21c017b707;hb=fc42cf454f14d7ddd13d34a7b6add61de1bdd1a3;hpb=ffc893b125c6cc9b385a68a357b08ba2cc4e91f6 diff --git a/http_response_object.c b/http_response_object.c index 93c8f0c..366cf9d 100644 --- a/http_response_object.c +++ b/http_response_object.c @@ -241,6 +241,11 @@ static inline void _http_response_object_declare_default_properties(TSRMLS_D) DCL_STATIC_PROP(PROTECTED, double, throttleDelay, 0.0); #ifndef WONKY + DCL_CONST(long, "REDIRECT", HTTP_REDIRECT); + DCL_CONST(long, "REDIRECT_PERM", HTTP_REDIRECT_PERM); + DCL_CONST(long, "REDIRECT_POST", HTTP_REDIRECT_POST); + DCL_CONST(long, "REDIRECT_TEMP", HTTP_REDIRECT_TEMP); + DCL_CONST(long, "ETAG_MD5", HTTP_ETAG_MD5); DCL_CONST(long, "ETAG_SHA1", HTTP_ETAG_SHA1); DCL_CONST(long, "ETAG_CRC32", HTTP_ETAG_CRC32); @@ -939,13 +944,6 @@ PHP_METHOD(HttpResponse, send) php_end_ob_buffers(0 TSRMLS_CC); } - /* gzip */ - if (zval_is_true(GET_STATIC_PROP(gzip))) { - php_start_ob_buffer_named("ob_gzhandler", 0, 0 TSRMLS_CC); - } else { - php_start_ob_buffer(NULL, 0, 0 TSRMLS_CC); - } - /* caching */ if (zval_is_true(GET_STATIC_PROP(cache))) { zval *cctl, *etag, *lmod; @@ -989,29 +987,34 @@ PHP_METHOD(HttpResponse, send) HTTP_G(send).throttle_delay = Z_DVAL_P(convert_to_type_ex(IS_DOUBLE, GET_STATIC_PROP(throttleDelay))); } + /* gzip */ + if (zval_is_true(GET_STATIC_PROP(gzip))) { + php_start_ob_buffer_named("ob_gzhandler", HTTP_G(send).buffer_size, 0 TSRMLS_CC); + } else { + php_start_ob_buffer(NULL, HTTP_G(send).buffer_size, 0 TSRMLS_CC); + } + /* send */ + switch (Z_LVAL_P(GET_STATIC_PROP(mode))) { - switch (Z_LVAL_P(GET_STATIC_PROP(mode))) + case SEND_DATA: { - case SEND_DATA: - { - zval *zdata = convert_to_type_ex(IS_STRING, GET_STATIC_PROP(data)); - RETURN_SUCCESS(http_send_data_ex(Z_STRVAL_P(zdata), Z_STRLEN_P(zdata), 1)); - } + zval *zdata = convert_to_type_ex(IS_STRING, GET_STATIC_PROP(data)); + RETURN_SUCCESS(http_send_data_ex(Z_STRVAL_P(zdata), Z_STRLEN_P(zdata), 1)); + } - case SEND_RSRC: - { - php_stream *the_real_stream; - zval *the_stream = convert_to_type_ex(IS_LONG, GET_STATIC_PROP(stream)); - the_stream->type = IS_RESOURCE; - php_stream_from_zval(the_real_stream, &the_stream); - RETURN_SUCCESS(http_send_stream_ex(the_real_stream, 0, 1)); - } + case SEND_RSRC: + { + php_stream *the_real_stream; + zval *the_stream = convert_to_type_ex(IS_LONG, GET_STATIC_PROP(stream)); + the_stream->type = IS_RESOURCE; + php_stream_from_zval(the_real_stream, &the_stream); + RETURN_SUCCESS(http_send_stream_ex(the_real_stream, 0, 1)); + } - default: - { - RETURN_SUCCESS(http_send_file_ex(Z_STRVAL_P(convert_to_type_ex(IS_STRING, GET_STATIC_PROP(file))), 1)); - } + default: + { + RETURN_SUCCESS(http_send_file_ex(Z_STRVAL_P(convert_to_type_ex(IS_STRING, GET_STATIC_PROP(file))), 1)); } } } @@ -1037,7 +1040,7 @@ PHP_METHOD(HttpResponse, capture) UPD_STATIC_PROP(long, catch, 1); php_end_ob_buffers(0 TSRMLS_CC); - php_start_ob_buffer(NULL, 0, 0 TSRMLS_CC); + php_start_ob_buffer(NULL, 40960, 0 TSRMLS_CC); /* register shutdown function */ {