|
|
@ -121,7 +121,8 @@ func (ms *MasterServer) redirectHandler(w http.ResponseWriter, r *http.Request) |
|
|
|
debug("parsing error:", err, r.URL.Path) |
|
|
|
return |
|
|
|
} |
|
|
|
machines := ms.Topo.Lookup("", volumeId) |
|
|
|
collection := r.FormValue("collection") |
|
|
|
machines := ms.Topo.Lookup(collection, volumeId) |
|
|
|
if machines != nil && len(machines) > 0 { |
|
|
|
var url string |
|
|
|
if r.URL.RawQuery != "" { |
|
|
@ -131,7 +132,7 @@ func (ms *MasterServer) redirectHandler(w http.ResponseWriter, r *http.Request) |
|
|
|
} |
|
|
|
http.Redirect(w, r, url, http.StatusMovedPermanently) |
|
|
|
} else { |
|
|
|
writeJsonError(w, r, http.StatusNotFound, fmt.Errorf("volume id %d not found", volumeId)) |
|
|
|
writeJsonError(w, r, http.StatusNotFound, fmt.Errorf("volume id %d or collection %s not found", volumeId, collection)) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|