comparison src/http/modules/ngx_http_addition_filter_module.c @ 244:500a3242dff6 NGINX_0_4_7

nginx 0.4.7 *) Feature: the ngx_http_flv_module. *) Feature: the $request_body_file variable. *) Feature: the "charset" and "source_charset" directives support the variables. *) Bugfix: if an "include" SSI command were before another "include" SSI command with an "wait" parameter, then the "wait" parameter might not work. *) Bugfix: if the "proxy_buffering off" directive was used or while working with memcached the connections might not be closed on timeout. *) Bugfix: nginx did not run on 64-bit platforms except amd64, sparc64, and ppc64.
author Igor Sysoev <http://sysoev.ru>
date Tue, 10 Oct 2006 00:00:00 +0400
parents 38e7b94d63ac
children acd2ec3541cb
comparison
equal deleted inserted replaced
243:d371c9d33781 244:500a3242dff6
122 ngx_http_addition_body_filter(ngx_http_request_t *r, ngx_chain_t *in) 122 ngx_http_addition_body_filter(ngx_http_request_t *r, ngx_chain_t *in)
123 { 123 {
124 ngx_int_t rc; 124 ngx_int_t rc;
125 ngx_uint_t last; 125 ngx_uint_t last;
126 ngx_chain_t *cl; 126 ngx_chain_t *cl;
127 ngx_http_request_t *sr;
127 ngx_http_addition_ctx_t *ctx; 128 ngx_http_addition_ctx_t *ctx;
128 ngx_http_addition_conf_t *conf; 129 ngx_http_addition_conf_t *conf;
129 130
130 if (in == NULL || r->header_only) { 131 if (in == NULL || r->header_only) {
131 return ngx_http_next_body_filter(r, in); 132 return ngx_http_next_body_filter(r, in);
141 142
142 if (!ctx->before_body_sent) { 143 if (!ctx->before_body_sent) {
143 ctx->before_body_sent = 1; 144 ctx->before_body_sent = 1;
144 145
145 if (conf->before_body.len) { 146 if (conf->before_body.len) {
146 if (ngx_http_subrequest(r, &conf->before_body, NULL, NULL, 0) 147 if (ngx_http_subrequest(r, &conf->before_body, NULL, &sr, NULL, 0)
147 == NGX_ERROR) 148 == NGX_ERROR)
148 { 149 {
149 return NGX_ERROR; 150 return NGX_ERROR;
150 } 151 }
151 } 152 }
165 166
166 if (rc == NGX_ERROR || !last || conf->after_body.len == 0) { 167 if (rc == NGX_ERROR || !last || conf->after_body.len == 0) {
167 return rc; 168 return rc;
168 } 169 }
169 170
170 if (ngx_http_subrequest(r, &conf->after_body, NULL, NULL, 0) == NGX_ERROR) { 171 if (ngx_http_subrequest(r, &conf->after_body, NULL, &sr, NULL, 0)
172 == NGX_ERROR)
173 {
171 return NGX_ERROR; 174 return NGX_ERROR;
172 } 175 }
173 176
174 ngx_http_set_ctx(r, NULL, ngx_http_addition_filter_module); 177 ngx_http_set_ctx(r, NULL, ngx_http_addition_filter_module);
175 178