HTTP_EMPTY_ARGS(getRequestHeaders);
HTTP_EMPTY_ARGS(getRequestBody);
+HTTP_EMPTY_ARGS(getRequestBodyStream);
#define http_grab_response_headers _http_grab_response_headers
static void _http_grab_response_headers(void *data, void *arg TSRMLS_DC);
HTTP_RESPONSE_ALIAS(status, http_send_status)
HTTP_RESPONSE_ALIAS(getRequestHeaders, http_get_request_headers)
HTTP_RESPONSE_ALIAS(getRequestBody, http_get_request_body)
+ HTTP_RESPONSE_ALIAS(getRequestBodyStream, http_get_request_body_stream)
EMPTY_FUNCTION_ENTRY
};
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
zend_hash_init(&headers_ht, sizeof(zval *), NULL, ZVAL_PTR_DTOR, 0);
if ( (SUCCESS == http_parse_headers_ex(PHPSTR_VAL(&headers), &headers_ht, 1)) &&
- (SUCCESS == zend_hash_find(&headers_ht, name, name_len + 1, (void **) &header))) {
+ (SUCCESS == zend_hash_find(&headers_ht, name, name_len + 1, (void *) &header))) {
RETVAL_ZVAL(*header, 1, 0);
} else {
RETVAL_NULL();
{
NO_ARGS;
- IF_RETVAL_USED {
+ if (return_value_used) {
zval *cache_p, *cache = convert_to_type_ex(IS_BOOL, GET_STATIC_PROP(cache), &cache_p);
RETVAL_ZVAL(cache, 1, 0);
{
NO_ARGS;
- IF_RETVAL_USED {
+ if (return_value_used) {
zval *gzip_p, *gzip = convert_to_type_ex(IS_BOOL, GET_STATIC_PROP(gzip), &gzip_p);
RETVAL_ZVAL(gzip, 1, 0);
{
NO_ARGS;
- IF_RETVAL_USED {
+ if (return_value_used) {
zval *ccontrol_p, *ccontrol = convert_to_type_ex(IS_STRING, GET_STATIC_PROP(cacheControl), &ccontrol_p);
RETVAL_ZVAL(ccontrol, 1, 0);
{
NO_ARGS;
- IF_RETVAL_USED {
+ if (return_value_used) {
zval *ctype_p, *ctype = convert_to_type_ex(IS_STRING, GET_STATIC_PROP(contentType), &ctype_p);
RETVAL_ZVAL(ctype, 1, 0);
{
zval *data = GET_STATIC_PROP(data);
ct = http_guess_content_type(magic_file, magic_mode, Z_STRVAL_P(data), Z_STRLEN_P(data), SEND_DATA);
+ break;
}
- break;
case SEND_RSRC:
{
z->type = IS_RESOURCE;
php_stream_from_zval(s, &z);
ct = http_guess_content_type(magic_file, magic_mode, s, 0, SEND_RSRC);
+ break;
}
- break;
default:
ct = http_guess_content_type(magic_file, magic_mode, Z_STRVAL_P(GET_STATIC_PROP(file)), 0, -1);
- break;
+ break;
}
if (ct) {
UPD_STATIC_PROP(string, contentType, ct);
{
NO_ARGS;
- IF_RETVAL_USED {
+ if (return_value_used) {
zval *cd_p, *cd = convert_to_type_ex(IS_STRING, GET_STATIC_PROP(contentDisposition), &cd_p);
RETVAL_ZVAL(cd, 1, 0);
{
NO_ARGS;
- IF_RETVAL_USED {
+ if (return_value_used) {
zval *etag_p, *etag = convert_to_type_ex(IS_STRING, GET_STATIC_PROP(eTag), &etag_p);
RETVAL_ZVAL(etag, 1, 0);
{
NO_ARGS;
- IF_RETVAL_USED {
+ if (return_value_used) {
zval *lm_p, *lm = convert_to_type_ex(IS_LONG, GET_STATIC_PROP(lastModified), &lm_p);
RETVAL_ZVAL(lm, 1, 0);
{
NO_ARGS;
- IF_RETVAL_USED {
+ if (return_value_used) {
zval *delay_p, *delay = convert_to_type_ex(IS_DOUBLE, GET_STATIC_PROP(throttleDelay), &delay_p);
RETVAL_ZVAL(delay, 1, 0);
{
NO_ARGS;
- IF_RETVAL_USED {
+ if (return_value_used) {
zval *size_p, *size = convert_to_type_ex(IS_LONG, GET_STATIC_PROP(bufferSize), &size_p);
RETVAL_ZVAL(size, 1, 0);
{
NO_ARGS;
- IF_RETVAL_USED {
+ if (return_value_used) {
zval *the_data = GET_STATIC_PROP(data);
RETURN_ZVAL(the_data, 1, 0);
{
NO_ARGS;
- IF_RETVAL_USED {
+ if (return_value_used) {
zval *stream_p;
RETVAL_RESOURCE(Z_LVAL_P(convert_to_type_ex(IS_LONG, GET_STATIC_PROP(stream), &stream_p)));
{
NO_ARGS;
- IF_RETVAL_USED {
+ if (return_value_used) {
zval *the_file_p, *the_file = convert_to_type_ex(IS_STRING, GET_STATIC_PROP(file), &the_file_p);
RETVAL_ZVAL(the_file, 1, 0);
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));
}
}
/* 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)))
- {
+ switch (Z_LVAL_P(GET_STATIC_PROP(mode))) {
case SEND_DATA:
{
zval *zdata_p, *zdata = convert_to_type_ex(IS_STRING, GET_STATIC_PROP(data), &zdata_p);
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 */
{