Mercurial > hg > nginx
diff src/http/ngx_http_request.c @ 3848:de59ad6bf557
introduce 494 code "Request Header Too Large"
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 20 Jan 2011 10:37:58 +0000 |
parents | e6e453203bae |
children | e3cb8e27e413 |
line wrap: on
line diff
--- a/src/http/ngx_http_request.c Thu Jan 20 10:18:12 2011 +0000 +++ b/src/http/ngx_http_request.c Thu Jan 20 10:37:58 2011 +0000 @@ -978,10 +978,13 @@ if (rv == NGX_DECLINED) { p = r->header_name_start; + r->lingering_close = 1; + if (p == NULL) { ngx_log_error(NGX_LOG_INFO, c->log, 0, "client sent too large request"); - ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST); + ngx_http_finalize_request(r, + NGX_HTTP_REQUEST_HEADER_TOO_LARGE); return; } @@ -995,7 +998,9 @@ ngx_log_error(NGX_LOG_INFO, c->log, 0, "client sent too long header line: \"%*s\"", len, r->header_name_start); - ngx_http_finalize_request(r, NGX_HTTP_BAD_REQUEST); + + ngx_http_finalize_request(r, + NGX_HTTP_REQUEST_HEADER_TOO_LARGE); return; } }