9945: Merge branch 'master' into 9945-make-python-package-dependency-free
[arvados.git] / sdk / go / auth / handlers.go
index 7b1760f4b8192dd28867e2f96a7dcccf4cffbc1a..ad1fa5141a1cf268729e33bdef3cacc3fb14d76c 100644 (file)
@@ -18,7 +18,10 @@ var contextKeyCredentials contextKey = "credentials"
 // CredentialsFromRequest.
 func LoadToken(next http.Handler) http.Handler {
        return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
-               next.ServeHTTP(w, r.WithContext(context.WithValue(r.Context(), contextKeyCredentials, CredentialsFromRequest(r))))
+               if _, ok := r.Context().Value(contextKeyCredentials).(*Credentials); !ok {
+                       r = r.WithContext(context.WithValue(r.Context(), contextKeyCredentials, CredentialsFromRequest(r)))
+               }
+               next.ServeHTTP(w, r)
        })
 }