changeset 5300:f538a67c9f77

Upstream: u->length now defaults to -1 (API change). That is, by default we assume that response end is signalled by a connection close. This seems to be better default, and in line with u->pipe->length behaviour. Memcached module was modified accordingly.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 25 Jul 2013 14:58:11 +0400
parents b779728b180c
children a50e26148d21
files src/http/modules/ngx_http_memcached_module.c src/http/ngx_http_upstream.c
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/modules/ngx_http_memcached_module.c
+++ b/src/http/modules/ngx_http_memcached_module.c
@@ -441,8 +441,11 @@ ngx_http_memcached_filter_init(void *dat
     u = ctx->request->upstream;
 
     if (u->headers_in.status_n != 404) {
-        u->length += NGX_HTTP_MEMCACHED_END;
+        u->length = u->headers_in.content_length_n + NGX_HTTP_MEMCACHED_END;
         ctx->rest = NGX_HTTP_MEMCACHED_END;
+
+    } else {
+        u->length = 0;
     }
 
     return NGX_OK;
--- a/src/http/ngx_http_upstream.c
+++ b/src/http/ngx_http_upstream.c
@@ -1994,7 +1994,7 @@ ngx_http_upstream_process_headers(ngx_ht
 
     r->headers_out.content_length_n = u->headers_in.content_length_n;
 
-    u->length = u->headers_in.content_length_n;
+    u->length = -1;
 
     return NGX_OK;
 }