Upstream: fixed processing multiple 103 (early hints) responses.

The second 103 response in a row was treated as the final response header.
This commit is contained in:
Sergey Kandaurov 2026-04-02 17:41:56 +04:00 committed by Sergey Kandaurov
parent 9fd94af4dd
commit 7924a4ec6c

View file

@ -2550,6 +2550,8 @@ ngx_http_upstream_process_header(ngx_http_request_t *r, ngx_http_upstream_t *u)
u->response_received = 1;
again:
rc = u->process_header(r);
if (rc == NGX_AGAIN) {
@ -2570,11 +2572,7 @@ ngx_http_upstream_process_header(ngx_http_request_t *r, ngx_http_upstream_t *u)
rc = ngx_http_upstream_process_early_hints(r, u);
if (rc == NGX_OK) {
rc = u->process_header(r);
if (rc == NGX_AGAIN) {
continue;
}
goto again;
}
}