Mercurial > hg > nginx
diff src/http/ngx_http_special_response.c @ 2322:d4df1c875351 stable-0.6
r2183, r2192 merge:
*) allow file existence test for POST requests in static module
*) do not discard body while error_page redirection
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 20 Nov 2008 17:07:22 +0000 |
parents | 3a00188e49c5 |
children | 6854b688fd77 |
line wrap: on
line diff
--- a/src/http/ngx_http_special_response.c +++ b/src/http/ngx_http_special_response.c @@ -327,7 +327,6 @@ static ngx_str_t ngx_http_get_name = { ngx_int_t ngx_http_special_response_handler(ngx_http_request_t *r, ngx_int_t error) { - ngx_int_t rc; ngx_uint_t i, err; ngx_http_err_page_t *err_page; ngx_http_core_loc_conf_t *clcf; @@ -335,12 +334,6 @@ ngx_http_special_response_handler(ngx_ht ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "http special response: %d, \"%V\"", error, &r->uri); - rc = ngx_http_discard_request_body(r); - - if (rc == NGX_HTTP_INTERNAL_SERVER_ERROR) { - error = NGX_HTTP_INTERNAL_SERVER_ERROR; - } - r->err_status = error; if (r->keepalive != 0) { @@ -385,6 +378,10 @@ ngx_http_special_response_handler(ngx_ht } } + if (ngx_http_discard_request_body(r) != NGX_OK) { + error = NGX_HTTP_INTERNAL_SERVER_ERROR; + } + if (clcf->msie_refresh && r->headers_in.msie && (error == NGX_HTTP_MOVED_PERMANENTLY