Category: HTTP/HTTPS Proxy RFC Compliance
Problem
RFC 7231 §5.1.1 defines the Expect: 100-continue mechanism. When a client sends this header, it expects a 100 Continue interim response before sending the request body. The proxy currently ignores this header, which can cause:
- Clients waiting indefinitely for a
100 Continue that never comes
- Timeouts on large uploads
Current State
The Expect header is passed through to upstream without any proxy-level handling. The proxy reads the body immediately regardless of Expect: 100-continue.
Proposed Solution
- Detect
Expect: 100-continue header
- Before reading the body, send
HTTP/1.1 100 Continue\r\n\r\n to the client
- Then proceed with reading the body
- If upstream rejects (e.g., 417 Expectation Failed), forward that response instead
Priority
Low — Most HTTP clients handle the absence of 100 Continue gracefully (they send the body after a timeout). Important for correctness with large uploads.
Category: HTTP/HTTPS Proxy RFC Compliance
Problem
RFC 7231 §5.1.1 defines the
Expect: 100-continuemechanism. When a client sends this header, it expects a100 Continueinterim response before sending the request body. The proxy currently ignores this header, which can cause:100 Continuethat never comesCurrent State
The
Expectheader is passed through to upstream without any proxy-level handling. The proxy reads the body immediately regardless ofExpect: 100-continue.Proposed Solution
Expect: 100-continueheaderHTTP/1.1 100 Continue\r\n\r\nto the clientPriority
Low — Most HTTP clients handle the absence of 100 Continue gracefully (they send the body after a timeout). Important for correctness with large uploads.