Sienna Meridian Satterwhite 10de00990c fix(proxy): handle Expect: 100-continue for large upstream uploads
Docker's OCI distribution protocol sends Expect: 100-continue for blob
uploads larger than ~5 MB. Without this fix, Pingora forwarded the header
to Gitea, Gitea responded with 100 Continue, and Pingora could not reliably
proxy the informational response back — causing spurious 400 errors for the
client on large image layer pushes.

Fix: respond with 100 Continue in request_filter before upstream_peer is
called, then strip the Expect header in upstream_request_filter so the
upstream never sends its own 100 Continue.

Also adds a unit test verifying that remove_header("expect") strips the
header from the upstream request without disturbing other headers.

Signed-off-by: Sienna Meridian Satterwhite <sienna@sunbeam.pt>
2026-03-10 23:38:19 +00:00
Description
An adaptive, self-learning machine learning network proxy with DDoS and bot protections
Apache-2.0 1.6 MiB
Languages
Rust 98.4%
Lean 1.3%
Dockerfile 0.3%