bufferBody reads the request body fully so it can be replayed across key-failover retries. Returns nil for a nil body.
(req *http.Request)
| 109 | // bufferBody reads the request body fully so it can be replayed |
| 110 | // across key-failover retries. Returns nil for a nil body. |
| 111 | func bufferBody(req *http.Request) ([]byte, error) { |
| 112 | if req.Body == nil { |
| 113 | return nil, nil |
| 114 | } |
| 115 | defer req.Body.Close() |
| 116 | return io.ReadAll(req.Body) |
| 117 | } |