From 2725d06393a18c8a13adc1a44f5a7473dfe852b4 Mon Sep 17 00:00:00 2001 From: Domenic Rosati Date: Wed, 19 Jun 2019 20:49:45 -0300 Subject: [PATCH] fix unclosed resps --- httpcache.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/httpcache.go b/httpcache.go index b41a63d..a9bb024 100644 --- a/httpcache.go +++ b/httpcache.go @@ -192,11 +192,15 @@ func (t *Transport) RoundTrip(req *http.Request) (resp *http.Response, err error for _, header := range endToEndHeaders { cachedResp.Header[header] = resp.Header[header] } + resp.Body.Close() resp = cachedResp } else if (err != nil || (cachedResp != nil && resp.StatusCode >= 500)) && req.Method == "GET" && canStaleOnError(cachedResp.Header, req.Header) { // In case of transport failure and stale-if-error activated, returns cached content // when available + if resp != nil && resp.Body != nil { + resp.Body.Close() + } return cachedResp, nil } else { if err != nil || resp.StatusCode != http.StatusOK {