aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/http/v2/ngx_http_v2.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/http/v2/ngx_http_v2.c b/src/http/v2/ngx_http_v2.c
index dd712c121..278c9abf6 100644
--- a/src/http/v2/ngx_http_v2.c
+++ b/src/http/v2/ngx_http_v2.c
@@ -3414,6 +3414,7 @@ ngx_http_v2_read_request_body(ngx_http_request_t *r,
ngx_http_v2_stream_t *stream;
ngx_http_request_body_t *rb;
ngx_http_core_loc_conf_t *clcf;
+ ngx_http_v2_connection_t *h2c;
stream = r->stream;
@@ -3498,6 +3499,15 @@ ngx_http_v2_read_request_body(ngx_http_request_t *r,
stream->skip_data = 1;
return NGX_HTTP_INTERNAL_SERVER_ERROR;
}
+
+ h2c = stream->connection;
+
+ if (!h2c->blocked) {
+ if (ngx_http_v2_send_output_queue(h2c) == NGX_ERROR) {
+ stream->skip_data = 1;
+ return NGX_HTTP_INTERNAL_SERVER_ERROR;
+ }
+ }
}
ngx_add_timer(r->connection->read, clcf->client_body_timeout);