comparison src/http/modules/ngx_http_gzip_filter_module.c @ 597:9262f520ce21 release-0.3.20

nginx-0.3.20-RELEASE import *) Bugfix: in SSI handling. *) Bugfix: the ngx_http_memcached_module did not support the keys in the "/usr?args" form.
author Igor Sysoev <igor@sysoev.ru>
date Wed, 11 Jan 2006 15:26:57 +0000
parents d4e858a5751a
children e60fe4cf1d4e
comparison
equal deleted inserted replaced
596:0381e6d3aa70 597:9262f520ce21
97 ngx_conf_check_num_bounds, 1, 9 97 ngx_conf_check_num_bounds, 1, 9
98 }; 98 };
99 99
100 static ngx_conf_post_handler_pt ngx_http_gzip_window_p = ngx_http_gzip_window; 100 static ngx_conf_post_handler_pt ngx_http_gzip_window_p = ngx_http_gzip_window;
101 static ngx_conf_post_handler_pt ngx_http_gzip_hash_p = ngx_http_gzip_hash; 101 static ngx_conf_post_handler_pt ngx_http_gzip_hash_p = ngx_http_gzip_hash;
102
103 102
104 103
105 static ngx_conf_enum_t ngx_http_gzip_http_version[] = { 104 static ngx_conf_enum_t ngx_http_gzip_http_version[] = {
106 { ngx_string("1.0"), NGX_HTTP_VERSION_10 }, 105 { ngx_string("1.0"), NGX_HTTP_VERSION_10 },
107 { ngx_string("1.1"), NGX_HTTP_VERSION_11 }, 106 { ngx_string("1.1"), NGX_HTTP_VERSION_11 },
281 if (!conf->enable 280 if (!conf->enable
282 || (r->headers_out.status != NGX_HTTP_OK 281 || (r->headers_out.status != NGX_HTTP_OK
283 && r->headers_out.status != NGX_HTTP_FORBIDDEN 282 && r->headers_out.status != NGX_HTTP_FORBIDDEN
284 && r->headers_out.status != NGX_HTTP_NOT_FOUND) 283 && r->headers_out.status != NGX_HTTP_NOT_FOUND)
285 || r->header_only 284 || r->header_only
286 || r->main != r 285 || r != r->main
287 || r->http_version < conf->http_version 286 || r->http_version < conf->http_version
288 || r->headers_out.content_type.len == 0 287 || r->headers_out.content_type.len == 0
289 || (r->headers_out.content_encoding 288 || (r->headers_out.content_encoding
290 && r->headers_out.content_encoding->value.len) 289 && r->headers_out.content_encoding->value.len)
291 || r->headers_in.accept_encoding == NULL 290 || r->headers_in.accept_encoding == NULL
542 if (ngx_http_next_body_filter(r, &out) == NGX_ERROR) { 541 if (ngx_http_next_body_filter(r, &out) == NGX_ERROR) {
543 ngx_http_gzip_error(ctx); 542 ngx_http_gzip_error(ctx);
544 return NGX_ERROR; 543 return NGX_ERROR;
545 } 544 }
546 545
546 r->connection->buffered |= NGX_HTTP_GZIP_BUFFERED;
547
547 ctx->last_out = &ctx->out; 548 ctx->last_out = &ctx->out;
548 549
549 ctx->crc32 = crc32(0L, Z_NULL, 0); 550 ctx->crc32 = crc32(0L, Z_NULL, 0);
550 ctx->flush = Z_NO_FLUSH; 551 ctx->flush = Z_NO_FLUSH;
551 } 552 }
797 ctx->zstream.avail_in = 0; 798 ctx->zstream.avail_in = 0;
798 ctx->zstream.avail_out = 0; 799 ctx->zstream.avail_out = 0;
799 800
800 ctx->done = 1; 801 ctx->done = 1;
801 802
803 r->connection->buffered &= ~NGX_HTTP_GZIP_BUFFERED;
804
802 break; 805 break;
803 } 806 }
804 807
805 if (conf->no_buffer && ctx->in == NULL) { 808 if (conf->no_buffer && ctx->in == NULL) {
806 809