aboutsummaryrefslogtreecommitdiff
path: root/weed/server
diff options
context:
space:
mode:
authorsparklxb <sparklxb@163.com>2017-03-17 15:02:27 +0800
committersparklxb <sparklxb@163.com>2017-03-17 15:02:27 +0800
commitc46e91d2297c1494207ff7dc0ac9682e0c268c3a (patch)
tree9215e586dd1f217bd47171b586448e3633d94804 /weed/server
parent37b79174d182ce6c72a8198db72f3533cb24ddbb (diff)
downloadseaweedfs-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.go37
-rw-r--r--weed/server/filer_server_handlers_write.go2
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