diff --git a/lfsapi/client.go b/lfsapi/client.go index 4be02b43..87788c92 100644 --- a/lfsapi/client.go +++ b/lfsapi/client.go @@ -131,11 +131,10 @@ func (c *Client) doWithRedirects(cli *http.Client, req *http.Request, via []*htt retries = defaultRequestRetries } - retries = tools.MaxInt(0, retries) - var res *http.Response - for i := 0; i < retries; i++ { + requests := tools.MaxInt(0, retries) + 1 + for i := 0; i < requests; i++ { res, err = cli.Do(req) if err == nil { break @@ -153,6 +152,10 @@ func (c *Client) doWithRedirects(cli *http.Client, req *http.Request, via []*htt return nil, err } + if res == nil { + return nil, nil + } + c.traceResponse(req, tracedReq, res) if res.StatusCode != 301 && diff --git a/lfsapi/retries.go b/lfsapi/retries.go index 8fb5f8e3..df4f2503 100644 --- a/lfsapi/retries.go +++ b/lfsapi/retries.go @@ -15,7 +15,7 @@ const ( // defaultRequestRetries is the default number of retries to perform on // a given HTTP request. - defaultRequestRetries = 1 + defaultRequestRetries = 0 ) // WithRetries stores the desired number of retries "n" on the given