diff options
Diffstat (limited to 'src/http/v3/ngx_http_v3_request.c')
-rw-r--r-- | src/http/v3/ngx_http_v3_request.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/http/v3/ngx_http_v3_request.c b/src/http/v3/ngx_http_v3_request.c index 5747c8ee6..ae65ba9ea 100644 --- a/src/http/v3/ngx_http_v3_request.c +++ b/src/http/v3/ngx_http_v3_request.c @@ -64,12 +64,18 @@ ngx_http_v3_parse_request(ngx_http_request_t *r, ngx_buf_t *b) } while (b->pos < b->last) { - rc = ngx_http_v3_parse_headers(c, st, *b->pos++); + rc = ngx_http_v3_parse_headers(c, st, *b->pos); if (rc == NGX_ERROR) { goto failed; } + if (rc == NGX_BUSY) { + return NGX_BUSY; + } + + b->pos++; + if (rc == NGX_AGAIN) { continue; } |