feat(inputs.http_response): Add User-Agent header (#12324)

This commit is contained in:
Charlie Jonas 2022-12-05 20:52:52 +00:00 committed by GitHub
parent 4a378c6ff9
commit 1a6c363cf1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 0 deletions

View File

@ -18,6 +18,7 @@ import (
"github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/config"
"github.com/influxdata/telegraf/internal"
"github.com/influxdata/telegraf/plugins/common/tls"
"github.com/influxdata/telegraf/plugins/inputs"
)
@ -198,6 +199,10 @@ func (h *HTTPResponse) httpGather(u string) (map[string]interface{}, map[string]
return nil, nil, err
}
if _, uaPresent := h.Headers["User-Agent"]; !uaPresent {
request.Header.Set("User-Agent", internal.ProductToken())
}
if h.BearerToken != "" {
token, err := os.ReadFile(h.BearerToken)
if err != nil {

View File

@ -19,6 +19,7 @@ import (
"github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/config"
"github.com/influxdata/telegraf/internal"
"github.com/influxdata/telegraf/plugins/common/tls"
"github.com/influxdata/telegraf/testutil"
)
@ -169,8 +170,10 @@ func checkOutput(
func TestHeaders(t *testing.T) {
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
cHeader := r.Header.Get("Content-Type")
uaHeader := r.Header.Get("User-Agent")
require.Equal(t, "Hello", r.Host)
require.Equal(t, "application/json", cHeader)
require.Equal(t, internal.ProductToken(), uaHeader)
w.WriteHeader(http.StatusOK)
}))
defer ts.Close()