aboutsummaryrefslogtreecommitdiff
path: root/go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2015-12-25 00:56:05 -0800
committerChris Lu <chris.lu@gmail.com>2015-12-25 00:56:05 -0800
commit4d56039ad4ee96db938af4df93bd4b0153c1400f (patch)
treedb0dacc5c4ef43104bf7c34e81496a914b382839 /go
parent9210bf4be1d9024b4ba09f81e9b279245454459e (diff)
parent3c9ef6245ec212711a4588fd094828f1e6aa81fd (diff)
downloadseaweedfs-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.go8
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))
}