projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
7167: honor blob signing key while getting blocks.
[arvados.git]
/
services
/
keepproxy
/
keepproxy.go
diff --git
a/services/keepproxy/keepproxy.go
b/services/keepproxy/keepproxy.go
index f2a93f1e3a058fdd9270091aecbc083882654dd3..7900096caf0ad9e80dfe13fde5970dbd0876db27 100644
(file)
--- a/
services/keepproxy/keepproxy.go
+++ b/
services/keepproxy/keepproxy.go
@@
-515,16
+515,15
@@
func (handler IndexHandler) ServeHTTP(resp http.ResponseWriter, req *http.Reques
kc := *handler.KeepClient
kc := *handler.KeepClient
- var pass bool
- var tok string
- if pass, tok = CheckAuthorizationHeader(kc, handler.ApiTokenCache, req); !pass {
+ ok, token := CheckAuthorizationHeader(kc, handler.ApiTokenCache, req)
+ if !ok {
status, err = http.StatusForbidden, BadAuthorizationHeader
return
}
// Copy ArvadosClient struct and use the client's API token
arvclient := *kc.Arvados
status, err = http.StatusForbidden, BadAuthorizationHeader
return
}
// Copy ArvadosClient struct and use the client's API token
arvclient := *kc.Arvados
- arvclient.ApiToken = tok
+ arvclient.ApiToken = tok
en
kc.Arvados = &arvclient
// Only GET method is supported
kc.Arvados = &arvclient
// Only GET method is supported
@@
-533,6
+532,7
@@
func (handler IndexHandler) ServeHTTP(resp http.ResponseWriter, req *http.Reques
return
}
return
}
+ // Get index from all LocalRoots and write to resp
var reader io.Reader
for uuid := range kc.LocalRoots() {
reader, err = kc.GetIndex(uuid, prefix)
var reader io.Reader
for uuid := range kc.LocalRoots() {
reader, err = kc.GetIndex(uuid, prefix)
@@
-541,15
+541,7
@@
func (handler IndexHandler) ServeHTTP(resp http.ResponseWriter, req *http.Reques
return
}
return
}
- var readBytes []byte
- readBytes, err = ioutil.ReadAll(reader)
- if err != nil {
- status = http.StatusBadGateway
- return
- }
-
- // Got index for this server; write to resp
- _, err := resp.Write(readBytes)
+ _, err = io.Copy(resp, reader)
if err != nil {
status = http.StatusBadGateway
return
if err != nil {
status = http.StatusBadGateway
return