From 49268a417851cc1622c1fae0da0e58d63fe68caa Mon Sep 17 00:00:00 2001 From: lijunlong Date: Mon, 26 Oct 2020 13:01:07 +0800 Subject: [PATCH 1/2] bugfix: wrong pipelined request body length when request body is parent's request body. --- src/ngx_http_lua_subrequest.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ngx_http_lua_subrequest.c b/src/ngx_http_lua_subrequest.c index b866955569..ba8b2fce91 100644 --- a/src/ngx_http_lua_subrequest.c +++ b/src/ngx_http_lua_subrequest.c @@ -1653,8 +1653,11 @@ ngx_http_lua_copy_request_headers(ngx_http_request_t *sr, if (sr->request_body && !pr_not_chunked) { /* craft our own Content-Length */ - - len = sr->request_body->buf ? ngx_buf_size(sr->request_body->buf) : 0; + if (pr && sr->request_body == pr->request_body) { + len = pr->headers_in.content_length_n; + } else { + len = sr->request_body->buf ? ngx_buf_size(sr->request_body->buf) : 0; + } clh = ngx_list_push(&sr->headers_in.headers); if (clh == NULL) { From 366a84579dfc834a62ca79497d855c1288040897 Mon Sep 17 00:00:00 2001 From: lijunlong Date: Mon, 26 Oct 2020 14:52:34 +0800 Subject: [PATCH 2/2] style: added a new line. --- src/ngx_http_lua_subrequest.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ngx_http_lua_subrequest.c b/src/ngx_http_lua_subrequest.c index ba8b2fce91..e6fe4a4700 100644 --- a/src/ngx_http_lua_subrequest.c +++ b/src/ngx_http_lua_subrequest.c @@ -1655,8 +1655,10 @@ ngx_http_lua_copy_request_headers(ngx_http_request_t *sr, /* craft our own Content-Length */ if (pr && sr->request_body == pr->request_body) { len = pr->headers_in.content_length_n; + } else { - len = sr->request_body->buf ? ngx_buf_size(sr->request_body->buf) : 0; + len = sr->request_body->buf + ? ngx_buf_size(sr->request_body->buf) : 0; } clh = ngx_list_push(&sr->headers_in.headers);