X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/6e10831be039fb540fc252d35e0ffe673ea8d398..4d53c7ea431ad5c20bfed54cd68d4518091574e8:/services/keepstore/handlers.go diff --git a/services/keepstore/handlers.go b/services/keepstore/handlers.go index d355e925d9..6492045c68 100644 --- a/services/keepstore/handlers.go +++ b/services/keepstore/handlers.go @@ -215,11 +215,18 @@ func IndexHandler(resp http.ResponseWriter, req *http.Request) { prefix := mux.Vars(req)["prefix"] - var index string for _, vol := range KeepVM.AllReadable() { - index = index + vol.Index(prefix) + if err := vol.IndexTo(prefix, resp); err != nil { + // The only errors returned by IndexTo are + // write errors returned by resp.Write(), + // which probably means the client has + // disconnected and this error will never be + // reported to the client -- but it will + // appear in our own error log. + http.Error(resp, err.Error(), http.StatusInternalServerError) + return + } } - resp.Write([]byte(index)) } // StatusHandler