Browse Source

s3: avoid nil resp when having error

fix https://github.com/chrislusf/seaweedfs/issues/1622
pull/1630/head
Chris Lu 4 years ago
parent
commit
7c9e592c2d
  1. 10
      weed/s3api/s3api_object_handlers.go

10
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)
}

Loading…
Cancel
Save