diff options
| author | Chris Lu <chris.lu@gmail.com> | 2015-12-25 00:56:05 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2015-12-25 00:56:05 -0800 |
| commit | 4d56039ad4ee96db938af4df93bd4b0153c1400f (patch) | |
| tree | db0dacc5c4ef43104bf7c34e81496a914b382839 /go | |
| parent | 9210bf4be1d9024b4ba09f81e9b279245454459e (diff) | |
| parent | 3c9ef6245ec212711a4588fd094828f1e6aa81fd (diff) | |
| download | seaweedfs-4d56039ad4ee96db938af4df93bd4b0153c1400f.tar.xz seaweedfs-4d56039ad4ee96db938af4df93bd4b0153c1400f.zip | |
Merge pull request #229 from Mohanson/patch-2
fix bug : master cann't redirect urlquery string
Diffstat (limited to 'go')
| -rw-r--r-- | go/weed/weed_server/master_server_handlers_admin.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/go/weed/weed_server/master_server_handlers_admin.go b/go/weed/weed_server/master_server_handlers_admin.go index fb2b18983..7893a5765 100644 --- a/go/weed/weed_server/master_server_handlers_admin.go +++ b/go/weed/weed_server/master_server_handlers_admin.go @@ -123,7 +123,13 @@ func (ms *MasterServer) redirectHandler(w http.ResponseWriter, r *http.Request) } machines := ms.Topo.Lookup("", volumeId) if machines != nil && len(machines) > 0 { - http.Redirect(w, r, util.NormalizeUrl(machines[rand.Intn(len(machines))].PublicUrl)+r.URL.Path, http.StatusMovedPermanently) + var url string + if r.URL.RawQuery != "" { + url = util.NormalizeUrl(machines[rand.Intn(len(machines))].PublicUrl) + r.URL.Path + "?" + r.URL.RawQuery + } else { + url = util.NormalizeUrl(machines[rand.Intn(len(machines))].PublicUrl) + r.URL.Path + } + http.Redirect(w, r, url, http.StatusMovedPermanently) } else { writeJsonError(w, r, http.StatusNotFound, fmt.Errorf("volume id %d not found", volumeId)) } |
