working S3 multipart uploads

This commit is contained in:
Chris Lu
2018-09-12 00:46:12 -07:00
parent 98d9aadd37
commit f6d8525d1d
11 changed files with 193 additions and 99 deletions

View File

@@ -117,7 +117,7 @@ func (fs *FilerServer) PostHandler(w http.ResponseWriter, r *http.Request) {
return
}
glog.V(0).Infof("request header %+v, urlLocation: %v", r.Header, urlLocation)
glog.V(4).Infof("write %s to %v", r.URL.Path, urlLocation)
u, _ := url.Parse(urlLocation)
@@ -221,6 +221,7 @@ func (fs *FilerServer) PostHandler(w http.ResponseWriter, r *http.Request) {
Fid: fileId,
Url: urlLocation,
}
setEtag(w, etag)
writeJsonQuiet(w, r, http.StatusCreated, reply)
}

View File

@@ -4,13 +4,14 @@ import (
"errors"
"fmt"
"net/http"
"strconv"
"time"
"strings"
"github.com/chrislusf/seaweedfs/weed/glog"
"github.com/chrislusf/seaweedfs/weed/operation"
"github.com/chrislusf/seaweedfs/weed/storage"
"github.com/chrislusf/seaweedfs/weed/topology"
"strconv"
"time"
)
func (vs *VolumeServer) PostHandler(w http.ResponseWriter, r *http.Request) {
@@ -175,6 +176,10 @@ func (vs *VolumeServer) batchDeleteHandler(w http.ResponseWriter, r *http.Reques
func setEtag(w http.ResponseWriter, etag string) {
if etag != "" {
w.Header().Set("ETag", "\""+etag+"\"")
if strings.HasPrefix(etag, "\"") {
w.Header().Set("ETag", etag)
} else {
w.Header().Set("ETag", "\""+etag+"\"")
}
}
}