func (kc *KeepClient) getOrHead(method string, locator string) (io.ReadCloser, int64, string, error) {
var errs []string
- var count404 int
tries_remaining := 1 + kc.Retries
+
serversToTry := kc.getSortedRoots(locator)
+
+ numServers := len(serversToTry)
+ count404 := 0
+
var retryList []string
for tries_remaining > 0 {
log.Printf("DEBUG: %s %s failed: %v", method, locator, errs)
var err error
- if count404 == len(kc.getSortedRoots(locator)) {
+ if count404 == numServers {
err = BlockNotFound
} else {
err = &ErrNotFound{multipleResponseError{