Prometheus: Remove middleware for custom headers (#51518)

This commit is contained in:
Andrej Ocenas
2022-06-29 11:04:57 +02:00
committed by GitHub
parent 60454192b7
commit 2372501368
3 changed files with 1 additions and 86 deletions
@@ -1,24 +0,0 @@
package middleware
import (
"net/http"
sdkHTTPClient "github.com/grafana/grafana-plugin-sdk-go/backend/httpclient"
)
// ReqHeadersMiddleware is used so that we can pass req headers through the prometheus go client as it does not allow
// access to the request directly. Should be used together with WithContextualMiddleware so that it is attached to
// the context of each request with its unique headers.
func ReqHeadersMiddleware(headers map[string]string) sdkHTTPClient.Middleware {
return sdkHTTPClient.NamedMiddlewareFunc("prometheus-req-headers-middleware", func(opts sdkHTTPClient.Options, next http.RoundTripper) http.RoundTripper {
return sdkHTTPClient.RoundTripperFunc(func(req *http.Request) (*http.Response, error) {
for k, v := range headers {
// As custom headers middleware is before contextual we may overwrite custom headers here with those
// that came with the request which probably makes sense.
req.Header[k] = []string{v}
}
return next.RoundTrip(req)
})
})
}