nginx/src/http
Maxim Dounin 5274f023a2 Upstream: no last buffer on errors.
Previously, after sending a header we always sent a last buffer and
finalized a request with code 0, even in case of errors.  In some cases
this resulted in a loss of ability to detect the response wasn't complete
(e.g. if Content-Length was removed from a response by gzip filter).

This change tries to propogate to a client information that a response
isn't complete in such cases.  In particular, with this change we no longer
pretend a returned response is complete if we wasn't able to create
a temporary file.

If an error code suggests the error wasn't fatal, we flush buffered data
and disable keepalive, then finalize request normally.  This allows to to
propogate information about a problem to a client, while still sending all
the data we've got from an upstream.
2013-07-25 15:00:41 +04:00
..
modules Upstream: added check if a response is complete. 2013-07-25 15:00:12 +04:00
ngx_http_busy_lock.c Whitespace fixes. 2012-03-05 18:09:06 +00:00
ngx_http_busy_lock.h Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_http_cache.h Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_http_config.h Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_http_copy_filter_module.c Local variable "ngx_http_next_filter" renamed to "ngx_http_next_body_filter" 2012-03-15 20:08:58 +00:00
ngx_http_core_module.c Style. 2013-07-11 20:38:27 +04:00
ngx_http_core_module.h Preliminary experimental support for SPDY draft 2. 2013-03-20 10:36:57 +00:00
ngx_http_file_cache.c Valgrind: supressed complaints about uninitialized bytes. 2013-06-05 19:44:22 +04:00
ngx_http_header_filter_module.c Proxy: support for connection upgrade (101 Switching Protocols). 2013-02-18 13:50:52 +00:00
ngx_http_parse_time.c Fixed compilation with -Wmissing-prototypes. 2012-07-24 15:09:54 +00:00
ngx_http_parse.c Fixed ngx_http_parse_chunked() minimal length calculation. 2013-06-28 13:55:05 +04:00
ngx_http_postpone_filter_module.c Fixed error logging. 2013-05-21 17:30:19 +04:00
ngx_http_request_body.c Fixed lingering_time check. 2013-05-13 17:39:45 +04:00
ngx_http_request.c Fixed ngx_http_test_reading() to finalize request properly. 2013-06-14 20:56:07 +04:00
ngx_http_request.h Core: support several "error_log" directives. 2013-06-20 20:47:39 +04:00
ngx_http_script.c Allow the complex value to be defined as an empty string. 2012-12-06 23:03:53 +00:00
ngx_http_script.h Copyright updated. 2012-01-18 15:07:43 +00:00
ngx_http_spdy_filter_module.c SPDY: fixed code style, no functional changes. 2013-06-13 16:28:42 +04:00
ngx_http_spdy_module.c Preliminary experimental support for SPDY draft 2. 2013-03-20 10:36:57 +00:00
ngx_http_spdy_module.h Preliminary experimental support for SPDY draft 2. 2013-03-20 10:36:57 +00:00
ngx_http_spdy.c SPDY: fixed segfault with "client_body_in_file_only" enabled. 2013-07-24 22:24:25 +04:00
ngx_http_spdy.h Use "void" for functions with empty parameter list. 2013-05-23 15:47:58 +04:00
ngx_http_special_response.c Request body: improved handling of incorrect chunked request body. 2012-11-26 18:00:14 +00:00
ngx_http_upstream_round_robin.c Upstream: fixed fail_timeout and max_fails > 1. 2013-05-21 21:47:50 +04:00
ngx_http_upstream_round_robin.h Upstream: removed rudiments of upstream connection caching. 2013-03-25 14:51:44 +00:00
ngx_http_upstream.c Upstream: no last buffer on errors. 2013-07-25 15:00:41 +04:00
ngx_http_upstream.h Upstream: http_403 support in proxy_next_upstream (and friends). 2013-05-27 16:54:09 +04:00
ngx_http_variables.c PCRE: retain input pattern for all regular expressions. 2013-05-02 03:26:36 -07:00
ngx_http_variables.h Removed unused ngx_http_clear_variable() macro. 2013-03-21 16:06:13 +00:00
ngx_http_write_filter_module.c Added r->limit_rate_after. 2013-05-11 18:49:42 +04:00
ngx_http.c Use NGX_DEFAULT_POOL_SIZE macro where appropriate. 2013-03-21 16:03:24 +00:00
ngx_http.h Fixed build with --with-mail_ssl_module. 2013-05-11 18:49:30 +04:00