From 1e4d825d3662d1b8a501471ead67d4253bbf5d7a Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Thu, 24 Sep 2015 12:21:31 +0300 Subject: [PATCH] Disable keep alives, fix return on last retry. #297 --- s3/retry.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/s3/retry.go b/s3/retry.go index 84185b40..6a278d52 100644 --- a/s3/retry.go +++ b/s3/retry.go @@ -43,7 +43,8 @@ func NewClient(rt *ResilientTransport) *http.Client { } return c, nil }, - Proxy: http.ProxyFromEnvironment, + DisableKeepAlives: true, + Proxy: http.ProxyFromEnvironment, } // TODO: Would be nice is ResilientTransport allowed clients to initialize // with http.Transport attributes. @@ -77,6 +78,9 @@ func (t *ResilientTransport) tries(req *http.Request) (res *http.Response, err e if !t.ShouldRetry(req, res, err) { break } + if try == MaxTries-1 { + break + } if res != nil { res.Body.Close() }