Mercurial > hg > nginx-quic
comparison src/http/modules/perl/ngx_http_perl_module.c @ 3111:4a2d3f571de6
fix request counter handling in perl module for $r->internal_redirect()
and $r->has_request_body(), the bug was introduced in r3050
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 08 Sep 2009 11:33:32 +0000 |
parents | 5e8bf3e983d2 |
children | 6cb238e091a9 |
comparison
equal
deleted
inserted
replaced
3110:c09bf4a53b79 | 3111:4a2d3f571de6 |
---|---|
236 | 236 |
237 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, | 237 ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, |
238 "perl handler done: %i", rc); | 238 "perl handler done: %i", rc); |
239 | 239 |
240 if (rc == NGX_DONE) { | 240 if (rc == NGX_DONE) { |
241 ngx_http_finalize_request(r, rc); | |
241 return; | 242 return; |
242 } | 243 } |
243 | 244 |
244 if (rc > 600) { | 245 if (rc > 600) { |
245 rc = NGX_OK; | 246 rc = NGX_OK; |
255 | 256 |
256 ctx->filename.data = NULL; | 257 ctx->filename.data = NULL; |
257 ctx->redirect_uri.len = 0; | 258 ctx->redirect_uri.len = 0; |
258 | 259 |
259 if (ctx->done || ctx->next) { | 260 if (ctx->done || ctx->next) { |
261 ngx_http_finalize_request(r, NGX_DONE); | |
260 return; | 262 return; |
261 } | 263 } |
262 | 264 |
263 if (uri.len) { | 265 if (uri.len) { |
264 ngx_http_internal_redirect(r, &uri, &args); | 266 ngx_http_internal_redirect(r, &uri, &args); |
267 ngx_http_finalize_request(r, NGX_DONE); | |
265 return; | 268 return; |
266 } | 269 } |
267 | 270 |
268 if (rc == NGX_OK || rc == NGX_HTTP_OK) { | 271 if (rc == NGX_OK || rc == NGX_HTTP_OK) { |
269 ngx_http_send_special(r, NGX_HTTP_LAST); | 272 ngx_http_send_special(r, NGX_HTTP_LAST); |