Browse Source

Randomize http redirect.

Randomize http redirect.
Also remove unnecessary empty string checking.
pull/96/head
chrislusf 10 years ago
parent
commit
e0d8259d98
  1. 7
      go/weed/weed_server/master_server_handlers_admin.go

7
go/weed/weed_server/master_server_handlers_admin.go

@ -5,6 +5,7 @@ import (
"errors"
"fmt"
"io/ioutil"
"math/rand"
"net/http"
"strconv"
"strings"
@ -122,11 +123,7 @@ func (ms *MasterServer) redirectHandler(w http.ResponseWriter, r *http.Request)
}
machines := ms.Topo.Lookup("", volumeId)
if machines != nil && len(machines) > 0 {
url := machines[0].PublicUrl
if url == "" {
url = machines[0].Url()
}
http.Redirect(w, r, "http://"+url+r.URL.Path, http.StatusMovedPermanently)
http.Redirect(w, r, "http://"+machines[rand.Intn(len(machines))].PublicUrl+r.URL.Path, http.StatusMovedPermanently)
} else {
writeJsonError(w, r, http.StatusNotFound, fmt.Errorf("volume id %d not found.", volumeId))
}

Loading…
Cancel
Save