Mercurial > hg > nginx
diff src/http/ngx_http_special_response.c @ 2474:6175f886ddfb stable-0.6
r2420, r2421, r2435, r2436, r2437 merge:
*) send "100 Continue" for HTTP/1.1 only
*) do not send "100 Continue" for subrequests
*) send "100 Continue" just before reading request body
*) set send() slot for POSIX systems
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 26 Jan 2009 15:22:24 +0000 |
parents | 6854b688fd77 |
children |
line wrap: on
line diff
--- a/src/http/ngx_http_special_response.c +++ b/src/http/ngx_http_special_response.c @@ -378,6 +378,8 @@ ngx_http_special_response_handler(ngx_ht } } + r->expect_tested = 1; + if (ngx_http_discard_request_body(r) != NGX_OK) { error = NGX_HTTP_INTERNAL_SERVER_ERROR; } @@ -430,11 +432,18 @@ static ngx_int_t ngx_http_send_error_page(ngx_http_request_t *r, ngx_http_err_page_t *err_page) { u_char ch, *p, *last; + ngx_int_t overwrite; ngx_str_t *uri, *args, u, a; ngx_table_elt_t *location; ngx_http_core_loc_conf_t *clcf; - r->err_status = err_page->overwrite; + overwrite = err_page->overwrite; + + if (overwrite && overwrite != NGX_HTTP_OK) { + r->expect_tested = 1; + } + + r->err_status = overwrite; r->zero_in_uri = 0;