aboutsummaryrefslogtreecommitdiff
path: root/weed/server/filer_server_handlers_admin.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/server/filer_server_handlers_admin.go')
-rw-r--r--weed/server/filer_server_handlers_admin.go42
1 files changed, 19 insertions, 23 deletions
diff --git a/weed/server/filer_server_handlers_admin.go b/weed/server/filer_server_handlers_admin.go
index aa7c09986..5c1b23255 100644
--- a/weed/server/filer_server_handlers_admin.go
+++ b/weed/server/filer_server_handlers_admin.go
@@ -4,34 +4,30 @@ import (
"net/http"
"github.com/chrislusf/seaweedfs/weed/glog"
+ "github.com/chrislusf/seaweedfs/weed/filer2"
+ "strconv"
)
-/*
-Move a folder or a file, with 4 Use cases:
- mv fromDir toNewDir
- mv fromDir toOldDir
- mv fromFile toDir
- mv fromFile toFile
-
-Wildcard is not supported.
-
-*/
-func (fs *FilerServer) moveHandler(w http.ResponseWriter, r *http.Request) {
- from := r.FormValue("from")
- to := r.FormValue("to")
- err := fs.filer.Move(from, to)
- if err != nil {
- glog.V(4).Infoln("moving", from, "->", to, err.Error())
- writeJsonError(w, r, http.StatusInternalServerError, err)
- } else {
- w.WriteHeader(http.StatusOK)
- }
-}
-
func (fs *FilerServer) registerHandler(w http.ResponseWriter, r *http.Request) {
path := r.FormValue("path")
fileId := r.FormValue("fileId")
- err := fs.filer.CreateFile(path, fileId)
+ fileSize, err := strconv.ParseUint(r.FormValue("fileSize"), 10, 64)
+ if err != nil {
+ glog.V(4).Infof("register %s to %s parse fileSize %s: %v", fileId, path, r.FormValue("fileSize"), err)
+ writeJsonError(w, r, http.StatusInternalServerError, err)
+ return
+ }
+ entry := &filer2.Entry{
+ FullPath: filer2.FullPath(path),
+ Attr: filer2.Attr{
+ Mode: 0660,
+ },
+ Chunks: []filer2.FileChunk{{
+ Fid: filer2.FileId(fileId),
+ Size: fileSize,
+ }},
+ }
+ err = fs.filer.CreateEntry(entry)
if err != nil {
glog.V(4).Infof("register %s to %s error: %v", fileId, path, err)
writeJsonError(w, r, http.StatusInternalServerError, err)