Fix retries on req body reads

This commit is contained in:
Ben Sarmiento
2024-02-17 06:34:36 +01:00
parent b87d99b1e6
commit 46e07f71c4
4 changed files with 27 additions and 18 deletions

View File

@@ -1,6 +1,7 @@
package http
import (
"bytes"
"context"
"encoding/json"
"fmt"
@@ -144,8 +145,15 @@ func (r *HTTPClient) Do(req *http.Request) (*http.Response, error) {
var resp *http.Response
var err error
attempt := 0
var origBody []byte
if req.Method == "POST" {
origBody, _ = io.ReadAll(req.Body)
}
for {
if origBody != nil {
req.Body = io.NopCloser(bytes.NewReader(origBody))
}
if resp != nil && resp.Body != nil {
resp.Body.Close()
}