aboutsummaryrefslogtreecommitdiff
path: root/go/weed
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2014-07-20 23:12:49 -0700
committerChris Lu <chris.lu@gmail.com>2014-07-20 23:12:49 -0700
commit77fd5ecd982ddb32affd6911b4808e4bf5d28dc8 (patch)
tree4f621ef75363f0f4703016baeb83a50aa0f8437b /go/weed
parent8e7f08d04daa6c80a1790e8d86bad149e9fb14b6 (diff)
downloadseaweedfs-77fd5ecd982ddb32affd6911b4808e4bf5d28dc8.tar.xz
seaweedfs-77fd5ecd982ddb32affd6911b4808e4bf5d28dc8.zip
Add /admin/mv to move a file or a folder
Diffstat (limited to 'go/weed')
-rw-r--r--go/weed/weed_server/filer_server.go1
-rw-r--r--go/weed/weed_server/filer_server_handlers_admin.go28
-rw-r--r--go/weed/weed_server/master_server_handlers_admin.go2
3 files changed, 30 insertions, 1 deletions
diff --git a/go/weed/weed_server/filer_server.go b/go/weed/weed_server/filer_server.go
index 996de5020..e56cb5964 100644
--- a/go/weed/weed_server/filer_server.go
+++ b/go/weed/weed_server/filer_server.go
@@ -26,6 +26,7 @@ func NewFilerServer(r *http.ServeMux, port int, master string, dir string, colle
return
}
+ r.HandleFunc("/admin/mv", fs.moveHandler)
r.HandleFunc("/", fs.filerHandler)
return fs, nil
diff --git a/go/weed/weed_server/filer_server_handlers_admin.go b/go/weed/weed_server/filer_server_handlers_admin.go
new file mode 100644
index 000000000..08b0e336e
--- /dev/null
+++ b/go/weed/weed_server/filer_server_handlers_admin.go
@@ -0,0 +1,28 @@
+package weed_server
+
+import (
+ "code.google.com/p/weed-fs/go/glog"
+ "net/http"
+)
+
+/*
+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, err)
+ } else {
+ w.WriteHeader(http.StatusOK)
+ }
+}
diff --git a/go/weed/weed_server/master_server_handlers_admin.go b/go/weed/weed_server/master_server_handlers_admin.go
index bd6747e99..d50075fd5 100644
--- a/go/weed/weed_server/master_server_handlers_admin.go
+++ b/go/weed/weed_server/master_server_handlers_admin.go
@@ -99,7 +99,7 @@ func (ms *MasterServer) volumeGrowHandler(w http.ResponseWriter, r *http.Request
w.WriteHeader(http.StatusNotAcceptable)
writeJsonQuiet(w, r, map[string]string{"error": err.Error()})
} else {
- w.WriteHeader(http.StatusNotAcceptable)
+ w.WriteHeader(http.StatusOK)
writeJsonQuiet(w, r, map[string]interface{}{"count": count})
}
}