add s3ChunkedReader

fix https://github.com/chrislusf/seaweedfs/issues/718
This commit is contained in:
Chris Lu
2018-09-02 14:20:47 -07:00
parent acd8836d27
commit 88f1d32cc4
3 changed files with 373 additions and 1 deletions

View File

@@ -41,9 +41,15 @@ func (s3a *S3ApiServer) PutObjectHandler(w http.ResponseWriter, r *http.Request)
return
}
rAuthType := getRequestAuthType(r)
dataReader := r.Body
if rAuthType == authTypeStreamingSigned{
dataReader = newSignV4ChunkedReader(r)
}
uploadUrl := fmt.Sprintf("http://%s%s/%s/%s?collection=%s",
s3a.option.Filer, s3a.option.BucketsPath, bucket, object, bucket)
proxyReq, err := http.NewRequest("PUT", uploadUrl, r.Body)
proxyReq, err := http.NewRequest("PUT", uploadUrl, dataReader)
if err != nil {
glog.Errorf("NewRequest %s: %v", uploadUrl, err)