diff --git a/client.go b/client.go index 7929dd5..41bd53f 100644 --- a/client.go +++ b/client.go @@ -146,12 +146,12 @@ func (dc *DecortClient) do(req *http.Request) (*http.Response, error) { resp, err := dc.client.Do(req) req.Close = true if err != nil || resp == nil { - if strings.Contains(err.Error(), "connection reset by peer") { + if strings.Contains(err.Error(), "connection reset by peer") || errors.Is(err, io.EOF) { resp.Body.Close() for i := uint64(0); i < dc.cfg.Retries; i++ { time.Sleep(5 * time.Second) resp, err = dc.client.Do(req) - if strings.Contains(err.Error(), "connection reset by peer") { + if strings.Contains(err.Error(), "connection reset by peer") || errors.Is(err, io.EOF) { resp.Body.Close() continue } else if err == nil { diff --git a/legacy-client.go b/legacy-client.go index c8fab77..1e49c76 100644 --- a/legacy-client.go +++ b/legacy-client.go @@ -147,12 +147,12 @@ func (ldc *LegacyDecortClient) do(req *http.Request) (*http.Response, error) { resp, err := ldc.client.Do(req) req.Close = true if err != nil || resp == nil { - if strings.Contains(err.Error(), "connection reset by peer") { + if strings.Contains(err.Error(), "connection reset by peer") || errors.Is(err, io.EOF) { resp.Body.Close() for i := uint64(0); i < ldc.cfg.Retries; i++ { time.Sleep(5 * time.Second) resp, err = ldc.client.Do(req) - if strings.Contains(err.Error(), "connection reset by peer") { + if strings.Contains(err.Error(), "connection reset by peer") || errors.Is(err, io.EOF) { resp.Body.Close() continue } else if err == nil {