From 5f55a87101f727ff7fdd6f53f6ea14728c3399a6 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Mon, 24 Aug 2020 00:32:44 -0700 Subject: [PATCH] close http response --- weed/operation/upload_content.go | 11 ++++++----- weed/util/http_util.go | 1 + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/weed/operation/upload_content.go b/weed/operation/upload_content.go index c036bce3b..df86dd173 100644 --- a/weed/operation/upload_content.go +++ b/weed/operation/upload_content.go @@ -225,11 +225,7 @@ func upload_content(uploadUrl string, fillBufferFunction func(w io.Writer) error glog.V(1).Infof("failing to upload to %v: %v", uploadUrl, post_err) return nil, fmt.Errorf("failing to upload to %v: %v", uploadUrl, post_err) } - defer resp.Body.Close() - resp_body, ra_err := ioutil.ReadAll(resp.Body) - if ra_err != nil { - return nil, ra_err - } + defer util.CloseResponse(resp) var ret UploadResult etag := getEtag(resp) @@ -238,6 +234,11 @@ func upload_content(uploadUrl string, fillBufferFunction func(w io.Writer) error return &ret, nil } + resp_body, ra_err := ioutil.ReadAll(resp.Body) + if ra_err != nil { + return nil, ra_err + } + unmarshal_err := json.Unmarshal(resp_body, &ret) if unmarshal_err != nil { glog.V(0).Infoln("failing to read upload response", uploadUrl, string(resp_body)) diff --git a/weed/util/http_util.go b/weed/util/http_util.go index 5159fcd17..7cc64ea85 100644 --- a/weed/util/http_util.go +++ b/weed/util/http_util.go @@ -368,6 +368,7 @@ func ReadUrlAsReaderCloser(fileUrl string, rangeHeader string) (io.ReadCloser, e if err != nil { return nil, err } + defer CloseResponse(r) if r.StatusCode >= 400 { return nil, fmt.Errorf("%s: %s", fileUrl, r.Status) }