diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-03-06 16:15:55 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2022-03-06 16:15:55 +0100 |
commit | f7d7d7f103c512c4a838ae277ae5c337ad703985 (patch) | |
tree | 081e417595285bf0dc1f2f14550df7858a246167 /client | |
parent | c1b4b2a8feb522b7f3a9ea7eb0f06ff4e8c890ba (diff) |
Restore custom User-Agent
Diffstat (limited to 'client')
-rw-r--r-- | client/go/util/http.go | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/client/go/util/http.go b/client/go/util/http.go index 40b9a8fbe00..ffdd3d1599b 100644 --- a/client/go/util/http.go +++ b/client/go/util/http.go @@ -3,8 +3,11 @@ package util import ( "crypto/tls" + "fmt" "net/http" "time" + + "github.com/vespa-engine/vespa/client/go/build" ) type HTTPClient interface { @@ -12,23 +15,27 @@ type HTTPClient interface { UseCertificate(certificate []tls.Certificate) } -type defaultHttpClient struct { +type defaultHTTPClient struct { client *http.Client } -func (c *defaultHttpClient) Do(request *http.Request, timeout time.Duration) (response *http.Response, error error) { +func (c *defaultHTTPClient) Do(request *http.Request, timeout time.Duration) (response *http.Response, error error) { if c.client.Timeout != timeout { // Set wanted timeout c.client.Timeout = timeout } + if request.Header == nil { + request.Header = make(http.Header) + } + request.Header.Set("User-Agent", fmt.Sprintf("Vespa CLI/%s", build.Version)) return c.client.Do(request) } -func (c *defaultHttpClient) UseCertificate(certificates []tls.Certificate) { +func (c *defaultHTTPClient) UseCertificate(certificates []tls.Certificate) { c.client.Transport = &http.Transport{TLSClientConfig: &tls.Config{ Certificates: certificates, }} } func CreateClient(timeout time.Duration) HTTPClient { - return &defaultHttpClient{client: &http.Client{Timeout: timeout}} + return &defaultHTTPClient{client: &http.Client{Timeout: timeout}} } |