From: Sergey Kandaurov Date: Thu, 2 Apr 2026 13:41:56 +0000 (+0400) Subject: Upstream: fixed processing multiple 103 (early hints) responses. X-Git-Tag: release-1.29.8~6 X-Git-Url: http://www.kaiwu.me/postgresql/commit/static/gitweb.js?a=commitdiff_plain;h=7924a4ec6cb35291ea60a5f2a70ac0a034d94ff7;p=nginx.git Upstream: fixed processing multiple 103 (early hints) responses. The second 103 response in a row was treated as the final response header. --- diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c index f177f0a28..c84defaa9 100644 --- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -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; } }