This commit is contained in:
James Peter 2024-06-13 16:01:16 +10:00
parent a16532dbbb
commit f76b87252e
1 changed files with 10 additions and 0 deletions

View File

@ -199,6 +199,16 @@ func (p *Proxy) proxyHTTPRequest(
roundTripReq.Header.Set("Connection", "keep-alive") roundTripReq.Header.Set("Connection", "keep-alive")
} }
// Handle GOAWAY frame to correctly retry a request
if roundTripReq.Body != nil {
roundTripReq.GetBody = func() (io.ReadCloser, err error) {
if err.Error() == "http2: Transport received Server's graceful shutdown GOAWAY" {
return roundTripReq.Body, nil
}
return nil, err
}
}
// Set the User-Agent as an empty string if not provided to avoid inserting golang default UA // Set the User-Agent as an empty string if not provided to avoid inserting golang default UA
if roundTripReq.Header.Get("User-Agent") == "" { if roundTripReq.Header.Get("User-Agent") == "" {
roundTripReq.Header.Set("User-Agent", "") roundTripReq.Header.Set("User-Agent", "")