diff options
| author | Chris Lu <chris.lu@gmail.com> | 2014-07-20 23:12:49 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2014-07-20 23:12:49 -0700 |
| commit | 77fd5ecd982ddb32affd6911b4808e4bf5d28dc8 (patch) | |
| tree | 4f621ef75363f0f4703016baeb83a50aa0f8437b /go/weed | |
| parent | 8e7f08d04daa6c80a1790e8d86bad149e9fb14b6 (diff) | |
| download | seaweedfs-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.go | 1 | ||||
| -rw-r--r-- | go/weed/weed_server/filer_server_handlers_admin.go | 28 | ||||
| -rw-r--r-- | go/weed/weed_server/master_server_handlers_admin.go | 2 |
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}) } } |
