diff options
| author | Chris Lu <chris.lu@gmail.com> | 2013-03-20 22:57:41 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2013-03-20 22:57:41 -0700 |
| commit | 4d8ce2fe26781b070a96f5fa5c6e4906c28016ee (patch) | |
| tree | aec91e8be4aa971defa9d0732476ad82f16fc1e4 /go | |
| parent | 437532d559489538afffee7e871f95fd6f6cf96f (diff) | |
| download | seaweedfs-4d8ce2fe26781b070a96f5fa5c6e4906c28016ee.tar.xz seaweedfs-4d8ce2fe26781b070a96f5fa5c6e4906c28016ee.zip | |
adding HEAD support
Diffstat (limited to 'go')
| -rw-r--r-- | go/weed/volume.go | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/go/weed/volume.go b/go/weed/volume.go index fd2298541..4e26052ce 100644 --- a/go/weed/volume.go +++ b/go/weed/volume.go @@ -89,14 +89,16 @@ func vacuumVolumeCommitHandler(w http.ResponseWriter, r *http.Request) { func storeHandler(w http.ResponseWriter, r *http.Request) { switch r.Method { case "GET": - GetHandler(w, r) + GetOrHeadHandler(w, r, true) + case "HEAD": + GetOrHeadHandler(w, r, false) case "DELETE": DeleteHandler(w, r) case "POST": PostHandler(w, r) } } -func GetHandler(w http.ResponseWriter, r *http.Request) { +func GetOrHeadHandler(w http.ResponseWriter, r *http.Request, isGetMethod bool) { n := new(storage.Needle) vid, fid, ext := parseURLPath(r.URL.Path) volumeId, err := storage.NewVolumeId(vid) @@ -163,8 +165,10 @@ func GetHandler(w http.ResponseWriter, r *http.Request) { } } w.Header().Set("Content-Length", strconv.Itoa(len(n.Data))) - if _, e = w.Write(n.Data); e != nil { - debug("response write error:", e) + if isGetMethod { + if _, e = w.Write(n.Data); e != nil { + debug("response write error:", e) + } } } func PostHandler(w http.ResponseWriter, r *http.Request) { |
