From 011a7fd2a462cae51cc4317f40524c4d6a0e7fcc Mon Sep 17 00:00:00 2001 From: Matt Topol Date: Tue, 16 Sep 2025 18:24:12 -0400 Subject: [PATCH] feat: add CI to user-agent for requests --- drivers.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/drivers.go b/drivers.go index 1e379c36..0da43dd5 100644 --- a/drivers.go +++ b/drivers.go @@ -15,6 +15,7 @@ import ( "runtime/debug" "slices" "sort" + "strconv" "sync" "github.com/Masterminds/semver/v3" @@ -25,8 +26,9 @@ import ( const defaultURL = "https://dbc-cdn.columnar.tech" var ( - baseURL = defaultURL - Version = "unknown" + baseURL = defaultURL + Version = "unknown" + userAgent string ) func init() { @@ -38,6 +40,16 @@ func init() { if val := os.Getenv("DBC_BASE_URL"); val != "" { baseURL = val } + + userAgent = fmt.Sprintf("dbc-cli/%s (%s; %s)", + Version, runtime.GOOS, runtime.GOARCH) + + // many CI systems set CI=true in the env so let's check for that + if ci := os.Getenv("CI"); ci != "" { + if val, _ := strconv.ParseBool(ci); val { + userAgent += " CI" + } + } } func makereq(u string) (resp *http.Response, err error) { @@ -50,8 +62,7 @@ func makereq(u string) (resp *http.Response, err error) { Method: http.MethodGet, URL: uri, Header: http.Header{ - "User-Agent": []string{fmt.Sprintf("dbc-cli/%s (%s; %s)", - Version, runtime.GOOS, runtime.GOARCH)}, + "User-Agent": []string{userAgent}, }, }