diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-11-17 11:23:13 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-11-17 11:23:17 -0800 |
| commit | 7c9e592c2d313b1d1c0eddae4c512505bcfa1e82 (patch) | |
| tree | 6913c85596d643c672cc0e8308905536faa46926 | |
| parent | a7258f024e7828e94e47fc346693f84ffe9b59f4 (diff) | |
| download | seaweedfs-7c9e592c2d313b1d1c0eddae4c512505bcfa1e82.tar.xz seaweedfs-7c9e592c2d313b1d1c0eddae4c512505bcfa1e82.zip | |
s3: avoid nil resp when having error
fix https://github.com/chrislusf/seaweedfs/issues/1622
| -rw-r--r-- | weed/s3api/s3api_object_handlers.go | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/weed/s3api/s3api_object_handlers.go b/weed/s3api/s3api_object_handlers.go index 7ea49f2c6..fa2436f62 100644 --- a/weed/s3api/s3api_object_handlers.go +++ b/weed/s3api/s3api_object_handlers.go @@ -266,11 +266,6 @@ func (s3a *S3ApiServer) proxyToFiler(w http.ResponseWriter, r *http.Request, des resp, postErr := client.Do(proxyReq) - if (resp.ContentLength == -1 || resp.StatusCode == 404) && !strings.HasSuffix(destUrl, "/") { - writeErrorResponse(w, s3err.ErrNoSuchKey, r.URL) - return - } - if postErr != nil { glog.Errorf("post to filer: %v", postErr) writeErrorResponse(w, s3err.ErrInternalError, r.URL) @@ -278,6 +273,11 @@ func (s3a *S3ApiServer) proxyToFiler(w http.ResponseWriter, r *http.Request, des } defer util.CloseResponse(resp) + if (resp.ContentLength == -1 || resp.StatusCode == 404) && !strings.HasSuffix(destUrl, "/") { + writeErrorResponse(w, s3err.ErrNoSuchKey, r.URL) + return + } + responseFn(resp, w) } |
