swarm/api: get rid of endless loop on readall

This commit is contained in:
Anton Evangelatov 2018-04-22 14:26:07 +02:00
parent f88ac098cb
commit b68c2d35d8

View file

@ -577,16 +577,13 @@ func (s *Server) HandleGet(w http.ResponseWriter, r *Request) {
var res []byte var res []byte
var err error var err error
for {
res, err = ioutil.ReadAll(reader) res, err = ioutil.ReadAll(reader)
if err != nil { if err != nil {
log.Error("handle.get", "ruid", r.ruid, "error", err) log.Error("handle.get", "ruid", r.ruid, "error", err)
time.Sleep(200 * time.Millisecond) Respond(w, r, fmt.Sprintf("chunk not found: %s", err), http.StatusNotFound)
continue return
} }
log.Debug("handle.get.readall success", "ruid", r.ruid) log.Debug("handle.get.readall success", "ruid", r.ruid)
break
}
rdr := bytes.NewReader(res) rdr := bytes.NewReader(res)
@ -845,16 +842,13 @@ func (s *Server) HandleGetFile(w http.ResponseWriter, r *Request) {
} }
var res []byte var res []byte
for {
res, err = ioutil.ReadAll(reader) res, err = ioutil.ReadAll(reader)
if err != nil { if err != nil {
log.Error("handle.get.file", "ruid", r.ruid, "error", err) log.Error("handle.get.file", "ruid", r.ruid, "error", err)
time.Sleep(200 * time.Millisecond) Respond(w, r, fmt.Sprintf("chunk not found %s: %s", r.uri, err), http.StatusNotFound)
continue return
} }
log.Debug("handle.get.file.readall success", "ruid", r.ruid) log.Debug("handle.get.file.readall success", "ruid", r.ruid)
break
}
rdr := bytes.NewReader(res) rdr := bytes.NewReader(res)