Datasources: Add user_agent header customization for outgoing HTTP requests (#63769)

This commit is contained in:
zhichli
2023-02-28 05:10:05 -08:00
committed by GitHub
parent 177aa254c5
commit 3c218d742f
9 changed files with 23 additions and 8 deletions

View File

@@ -1,7 +1,6 @@
package httpclientprovider
import (
"fmt"
"net/http"
"time"
@@ -21,13 +20,12 @@ var newProviderFunc = sdkhttpclient.NewProvider
// New creates a new HTTP client provider with pre-configured middlewares.
func New(cfg *setting.Cfg, validator validations.PluginRequestValidator, tracer tracing.Tracer) *sdkhttpclient.Provider {
logger := log.New("httpclient")
userAgent := fmt.Sprintf("Grafana/%s", cfg.BuildVersion)
middlewares := []sdkhttpclient.Middleware{
TracingMiddleware(logger, tracer),
DataSourceMetricsMiddleware(),
sdkhttpclient.ContextualMiddleware(),
SetUserAgentMiddleware(userAgent),
SetUserAgentMiddleware(cfg.DataProxyUserAgent),
sdkhttpclient.BasicAuthenticationMiddleware(),
sdkhttpclient.CustomHeadersMiddleware(),
ResponseLimitMiddleware(cfg.ResponseLimit),