]> git.kaiwu.me - nginx.git/commitdiff
Upstream: u->length now defaults to -1 (API change).
authorMaxim Dounin <mdounin@mdounin.ru>
Thu, 25 Jul 2013 10:58:11 +0000 (14:58 +0400)
committerMaxim Dounin <mdounin@mdounin.ru>
Thu, 25 Jul 2013 10:58:11 +0000 (14:58 +0400)
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.

src/http/modules/ngx_http_memcached_module.c
src/http/ngx_http_upstream.c

index c36ad0ffb6f8888085d80426dc44593b00610e63..bfff1bfc26bb8e67fb3c7f8557e27b78351e8ead 100644 (file)
@@ -441,8 +441,11 @@ ngx_http_memcached_filter_init(void *data)
     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;
index 08c4e5781a6aa52754cd0c0a2fcca18525a4a00d..8781fdca40315a1d513e8de6ef6166ec34919a3f 100644 (file)
@@ -1994,7 +1994,7 @@ ngx_http_upstream_process_headers(ngx_http_request_t *r, ngx_http_upstream_t *u)
 
     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;
 }