in components/google-built-opentelemetry-collector/extension/oauth2clientauthextension/extension.go [50:78]
func newClientAuthenticator(cfg *Config, logger *zap.Logger) (*clientAuthenticator, error) {
transport := http.DefaultTransport.(*http.Transport).Clone()
tlsCfg, err := cfg.TLSSetting.LoadTLSConfig(context.Background())
if err != nil {
return nil, err
}
transport.TLSClientConfig = tlsCfg
return &clientAuthenticator{
clientCredentials: &clientCredentialsConfig{
Config: clientcredentials.Config{
ClientID: cfg.ClientID,
ClientSecret: string(cfg.ClientSecret),
TokenURL: cfg.TokenURL,
Scopes: cfg.Scopes,
EndpointParams: cfg.EndpointParams,
},
ClientIDFile: cfg.ClientIDFile,
ClientSecretFile: cfg.ClientSecretFile,
ExpiryBuffer: cfg.ExpiryBuffer,
},
logger: logger,
client: &http.Client{
Transport: transport,
Timeout: cfg.Timeout,
},
}, nil
}