On Sunday 26 March 2017 01:41:23 Piotr Sikora via nginx-devel wrote: > # HG changeset patch > # User Piotr Sikora <[email protected]> > # Date 1490516712 25200 > # Sun Mar 26 01:25:12 2017 -0700 > # Node ID f9fd6a8babce9f57f038d304dc1eef82284dde8b > # Parent 22be63bf21edaa1b8ea916c7d8cd4e5fe4892061 > HTTP/2: add fast-path for HTTP/2 requests without request body. > > Signed-off-by: Piotr Sikora <[email protected]> > > diff -r 22be63bf21ed -r f9fd6a8babce src/http/v2/ngx_http_v2.c > --- a/src/http/v2/ngx_http_v2.c > +++ b/src/http/v2/ngx_http_v2.c > @@ -3494,7 +3494,9 @@ ngx_http_v2_read_request_body(ngx_http_r > > stream = r->stream; > > - if (stream->skip_data) { > + if (stream->skip_data > + || (stream->in_closed && stream->preread == NULL)) > + { > r->request_body_no_buffering = 0; > post_handler(r); > return NGX_OK;
That doesn't look like a correct patch to me as it changes behavior of ngx_http_read_client_request_body() specifically for HTTP/2 case. Note, that in case of HTTP/1.x it always allocates r->request_body for the main request unless r->discard_body is set. Even if it doesn't break something in nginx at the first glance, there's always a chance that some 3rd-party modules can depend on this. Anyway, this change should be made either for both protocols or for none of them. wbr, Valentin V. Bartenev _______________________________________________ nginx-devel mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-devel
