diff options
author | Igor Sysoev <igor@sysoev.ru> | 2010-06-18 15:16:18 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2010-06-18 15:16:18 +0000 |
commit | b2ee47c0c70483e6dfd867b63d04bce6718df3e3 (patch) | |
tree | 03c6f884303fd0f4d6f43f513dbfe2843eb1b3af | |
parent | 4c1b0770ca0944cbb81493333719284ea7d20b4b (diff) | |
download | nginx-b2ee47c0c70483e6dfd867b63d04bce6718df3e3.tar.gz nginx-b2ee47c0c70483e6dfd867b63d04bce6718df3e3.zip |
add files missed in the previuos commit
-rw-r--r-- | src/http/ngx_http_core_module.c | 25 | ||||
-rw-r--r-- | src/http/ngx_http_core_module.h | 2 |
2 files changed, 26 insertions, 1 deletions
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c index be3ad44ce..637feabe9 100644 --- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -865,7 +865,7 @@ ngx_http_core_generic_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph) /* * generic phase checker, - * used by the post read, server rewrite, rewrite, and pre-access phases + * used by the post read and pre-access phases */ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, @@ -896,6 +896,29 @@ ngx_http_core_generic_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph) ngx_int_t +ngx_http_core_rewrite_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph) +{ + ngx_int_t rc; + + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, + "rewrite phase: %ui", r->phase_handler); + + rc = ph->handler(r); + + if (rc == NGX_DECLINED) { + r->phase_handler++; + return NGX_AGAIN; + } + + /* rc == NGX_OK || rc == NGX_ERROR || rc == NGX_HTTP_... */ + + ngx_http_finalize_request(r, rc); + + return NGX_OK; +} + + +ngx_int_t ngx_http_core_find_config_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph) { diff --git a/src/http/ngx_http_core_module.h b/src/http/ngx_http_core_module.h index c31b66e8c..2f49202c3 100644 --- a/src/http/ngx_http_core_module.h +++ b/src/http/ngx_http_core_module.h @@ -429,6 +429,8 @@ struct ngx_http_location_tree_node_s { void ngx_http_core_run_phases(ngx_http_request_t *r); ngx_int_t ngx_http_core_generic_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph); +ngx_int_t ngx_http_core_rewrite_phase(ngx_http_request_t *r, + ngx_http_phase_handler_t *ph); ngx_int_t ngx_http_core_find_config_phase(ngx_http_request_t *r, ngx_http_phase_handler_t *ph); ngx_int_t ngx_http_core_post_rewrite_phase(ngx_http_request_t *r, |