From d2ad32788479451e227fc86e5a9e4c9936fefd6d Mon Sep 17 00:00:00 2001 From: Sergey Nazarov Date: Wed, 24 Jul 2019 00:14:12 -0700 Subject: [PATCH] Set "Metadata-Flavor: Google" header (#10) * Set Metadata-Flavor header in all SA metadata handlers * Set Metadata-Flavor header in newResponseWriter instead --- server/server.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server/server.go b/server/server.go index f911854..44c7be8 100644 --- a/server/server.go +++ b/server/server.go @@ -37,6 +37,8 @@ const ( defaultMetadataProxyAddress = "127.0.0.1:988" defaultEnableMetadataProxy = false defaultNamespaceKey = "accounts.google.com/allowed-service-accounts" + defaultFlavorHeaderName = "Metadata-Flavor" + defaultFlavorHeaderValue = "Google" ) // Server encapsulates all of the parameters necessary for starting up @@ -84,6 +86,8 @@ func (rw *responseWriter) WriteHeader(code int) { } func newResponseWriter(w http.ResponseWriter) *responseWriter { + // Set "Metadata-Flavor: Google" header + w.Header().Set(defaultFlavorHeaderName, defaultFlavorHeaderValue) return &responseWriter{w, http.StatusOK} } @@ -372,6 +376,8 @@ func (s *Server) reverseProxyHandler(logger *log.Entry, w http.ResponseWriter, r host = s.MetadataProxyAddress } + // Delete "Metadata-Flavor: Google" header to avoid duplication + w.Header().Del(defaultFlavorHeaderName) proxy := httputil.NewSingleHostReverseProxy(&url.URL{Scheme: "http", Host: host}) proxy.Transport = xForwardedForStripper{} proxy.ServeHTTP(w, r)