Closed
Description
The RoundTrip
contract states that the request body should be closed by RoundTrip
, even when an error occurs.
The HTTP/2 RoundTrip
does not close the request body in various situations:
- If the request is invalid: transport.go#1011 and in subsequent failures early in request processing.
- If an open slot cannot be acquired on the selected
ClientConn
: transport.go#1026 - If a new request body is acquired from
GetBody
: transport.go#550 (While the exact handling of bodies created byGetBody
is not fully documented, the HTTP/1RoundTrip
implementation closes both the originalRequest.Body
and every body returned byRequest.GetBody
.)