From d77cf92d6c4c6c1c9af9d77e7749247d2afce270 Mon Sep 17 00:00:00 2001 From: lestrozi Date: Thu, 19 Sep 2024 10:32:19 +0100 Subject: [PATCH] fix(common.http): Keep timeout after creating oauth client (#15900) --- plugins/common/http/config.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/plugins/common/http/config.go b/plugins/common/http/config.go index 3f5bfdfa5..c94a625a6 100644 --- a/plugins/common/http/config.go +++ b/plugins/common/http/config.go @@ -54,16 +54,12 @@ func (h *HTTPClientConfig) CreateClient(ctx context.Context, log telegraf.Logger // Register "http+unix" and "https+unix" protocol handler. unixtransport.Register(transport) - timeout := h.Timeout - if timeout == 0 { - timeout = config.Duration(time.Second * 5) - } - client := &http.Client{ Transport: transport, - Timeout: time.Duration(timeout), } + // While CreateOauth2Client returns a http.Client keeping the Transport configuration, + // it does not keep other http.Client parameters (e.g. Timeout). client = h.OAuth2Config.CreateOauth2Client(ctx, client) if h.CookieAuthConfig.URL != "" { @@ -72,5 +68,11 @@ func (h *HTTPClientConfig) CreateClient(ctx context.Context, log telegraf.Logger } } + timeout := h.Timeout + if timeout == 0 { + timeout = config.Duration(time.Second * 5) + } + client.Timeout = time.Duration(timeout) + return client, nil }