diff options
| author | Chris Lu <chrislusf@users.noreply.github.com> | 2017-03-14 08:21:29 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-03-14 08:21:29 -0700 |
| commit | 37b79174d182ce6c72a8198db72f3533cb24ddbb (patch) | |
| tree | 7c9e0bdfb54c1fbbd1aa2273d44a1fc5c8a9f772 /weed/server/filer_server_handlers_api.go | |
| parent | b095496d30929ef0a5aa139a65084eca3c2bf9e7 (diff) | |
| parent | 3a67b6ddc17ae8bca7c3930749e0da2fbcf30c82 (diff) | |
| download | seaweedfs-37b79174d182ce6c72a8198db72f3533cb24ddbb.tar.xz seaweedfs-37b79174d182ce6c72a8198db72f3533cb24ddbb.zip | |
Merge pull request #469 from sparklxb/master
complement weed mount
Diffstat (limited to 'weed/server/filer_server_handlers_api.go')
| -rw-r--r-- | weed/server/filer_server_handlers_api.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/weed/server/filer_server_handlers_api.go b/weed/server/filer_server_handlers_api.go new file mode 100644 index 000000000..f2a64e6cb --- /dev/null +++ b/weed/server/filer_server_handlers_api.go @@ -0,0 +1,36 @@ +package weed_server + +import ( + "encoding/json" + "net/http" + + "github.com/chrislusf/seaweedfs/weed/filer" + "github.com/chrislusf/seaweedfs/weed/glog" +) + +func (fs *FilerServer) apiHandler(w http.ResponseWriter, r *http.Request) { + request := r.FormValue("request") + apiRequest := filer.ApiRequest{} + + err := json.Unmarshal([]byte(request), &apiRequest) + if err != nil { + glog.V(0).Infoln("failing to read request", r.RequestURI, request) + writeJsonError(w, r, http.StatusInternalServerError, err) + } + switch apiRequest.Command { + case "listDirectories": + res := filer.ListDirectoriesResult{} + res.Directories, err = fs.filer.ListDirectories(apiRequest.Directory) + if err != nil { + res.Error = err.Error() + } + writeJsonQuiet(w, r, http.StatusOK, res) + case "listFiles": + res := filer.ListFilesResult{} + res.Files, err = fs.filer.ListFiles(apiRequest.Directory, apiRequest.FileName, 100) + if err != nil { + res.Error = err.Error() + } + writeJsonQuiet(w, r, http.StatusOK, res) + } +} |
