diff options
| author | sparklxb <sparklxb@163.com> | 2017-03-17 15:02:27 +0800 |
|---|---|---|
| committer | sparklxb <sparklxb@163.com> | 2017-03-17 15:02:27 +0800 |
| commit | c46e91d2297c1494207ff7dc0ac9682e0c268c3a (patch) | |
| tree | 9215e586dd1f217bd47171b586448e3633d94804 /weed/server | |
| parent | 37b79174d182ce6c72a8198db72f3533cb24ddbb (diff) | |
| download | seaweedfs-c46e91d2297c1494207ff7dc0ac9682e0c268c3a.tar.xz seaweedfs-c46e91d2297c1494207ff7dc0ac9682e0c268c3a.zip | |
complement weed mount: add read and delete
Diffstat (limited to 'weed/server')
| -rw-r--r-- | weed/server/filer_server_handlers_api.go | 37 | ||||
| -rw-r--r-- | weed/server/filer_server_handlers_write.go | 2 |
2 files changed, 38 insertions, 1 deletions
diff --git a/weed/server/filer_server_handlers_api.go b/weed/server/filer_server_handlers_api.go index f2a64e6cb..f07aab88a 100644 --- a/weed/server/filer_server_handlers_api.go +++ b/weed/server/filer_server_handlers_api.go @@ -3,9 +3,12 @@ package weed_server import ( "encoding/json" "net/http" + "strconv" "github.com/chrislusf/seaweedfs/weed/filer" "github.com/chrislusf/seaweedfs/weed/glog" + "github.com/chrislusf/seaweedfs/weed/operation" + "github.com/chrislusf/seaweedfs/weed/util" ) func (fs *FilerServer) apiHandler(w http.ResponseWriter, r *http.Request) { @@ -32,5 +35,39 @@ func (fs *FilerServer) apiHandler(w http.ResponseWriter, r *http.Request) { res.Error = err.Error() } writeJsonQuiet(w, r, http.StatusOK, res) + case "getFileSize": + res := filer.GetFileSizeResult{} + server, err := operation.LookupFileId(fs.getMasterNode(), apiRequest.FileId) + if err != nil { + res.Error = err.Error() + writeJsonQuiet(w, r, http.StatusOK, res) + return + } + head, err := util.Head(server) + if err != nil { + res.Error = err.Error() + writeJsonQuiet(w, r, http.StatusOK, res) + return + } + res.Size, err = strconv.ParseUint(head.Get("Content-Length"), 10, 0) + if err != nil { + res.Error = err.Error() + } + writeJsonQuiet(w, r, http.StatusOK, res) + case "getFileContent": + res := filer.GetFileContentResult{} + server, err := operation.LookupFileId(fs.getMasterNode(), apiRequest.FileId) + if err != nil { + res.Error = err.Error() + writeJsonQuiet(w, r, http.StatusOK, res) + return + } + res.Content, err = util.Get(server) + if err != nil { + res.Error = err.Error() + writeJsonQuiet(w, r, http.StatusOK, res) + return + } + writeJsonQuiet(w, r, http.StatusOK, res) } } diff --git a/weed/server/filer_server_handlers_write.go b/weed/server/filer_server_handlers_write.go index 80f222ce6..07452cd77 100644 --- a/weed/server/filer_server_handlers_write.go +++ b/weed/server/filer_server_handlers_write.go @@ -532,7 +532,7 @@ func (fs *FilerServer) doUpload(urlLocation string, w http.ResponseWriter, r *ht } // curl -X DELETE http://localhost:8888/path/to -// curl -X DELETE http://localhost:8888/path/to?recursive=true +// curl -X DELETE http://localhost:8888/path/to/?recursive=true func (fs *FilerServer) DeleteHandler(w http.ResponseWriter, r *http.Request) { var err error var fid string |
