Should an incremental proxying middleware be able to replay HTTP request bodies?

Hi everyone,

We are discussing requirements for an HTTP client used by a proxying middleware. Traditional HTTP middleware buffers the entire request body before forwarding the request upstream, so request bodies can be replayed. However, incremental proxies are able to stream the request body and might not want to keep the entire request in memory.

How does a streaming proxy handle the situation where the request body has to be replayed? Examples are that the upstream server sends a GOAWAY frame + REQUEST_REJECTED/REFUSED_STREAM, or if the request itself is idempotent and retryable after a network failure.

Guoye Zhang

Received on Thursday, 26 February 2026 08:54:27 UTC