aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/hashicorp/terraform/httpclient/useragent.go
diff options
context:
space:
mode:
authorAlex Pilon <apilon@hashicorp.com>2019-02-22 18:24:37 -0500
committerAlex Pilon <apilon@hashicorp.com>2019-02-22 18:24:37 -0500
commit15c0b25d011f37e7c20aeca9eaf461f78285b8d9 (patch)
tree255c250a5c9d4801c74092d33b7337d8c14438ff /vendor/github.com/hashicorp/terraform/httpclient/useragent.go
parent07971ca38143c5faf951d152fba370ddcbe26ad5 (diff)
downloadterraform-provider-statuscake-15c0b25d011f37e7c20aeca9eaf461f78285b8d9.tar.gz
terraform-provider-statuscake-15c0b25d011f37e7c20aeca9eaf461f78285b8d9.tar.zst
terraform-provider-statuscake-15c0b25d011f37e7c20aeca9eaf461f78285b8d9.zip
deps: github.com/hashicorp/terraform@sdk-v0.11-with-go-modules
Updated via: go get github.com/hashicorp/terraform@sdk-v0.11-with-go-modules and go mod tidy
Diffstat (limited to 'vendor/github.com/hashicorp/terraform/httpclient/useragent.go')
-rw-r--r--vendor/github.com/hashicorp/terraform/httpclient/useragent.go40
1 files changed, 40 insertions, 0 deletions
diff --git a/vendor/github.com/hashicorp/terraform/httpclient/useragent.go b/vendor/github.com/hashicorp/terraform/httpclient/useragent.go
new file mode 100644
index 0000000..5e28017
--- /dev/null
+++ b/vendor/github.com/hashicorp/terraform/httpclient/useragent.go
@@ -0,0 +1,40 @@
1package httpclient
2
3import (
4 "fmt"
5 "log"
6 "net/http"
7 "os"
8 "strings"
9
10 "github.com/hashicorp/terraform/version"
11)
12
13const userAgentFormat = "Terraform/%s"
14const uaEnvVar = "TF_APPEND_USER_AGENT"
15
16func UserAgentString() string {
17 ua := fmt.Sprintf(userAgentFormat, version.Version)
18
19 if add := os.Getenv(uaEnvVar); add != "" {
20 add = strings.TrimSpace(add)
21 if len(add) > 0 {
22 ua += " " + add
23 log.Printf("[DEBUG] Using modified User-Agent: %s", ua)
24 }
25 }
26
27 return ua
28}
29
30type userAgentRoundTripper struct {
31 inner http.RoundTripper
32 userAgent string
33}
34
35func (rt *userAgentRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) {
36 if _, ok := req.Header["User-Agent"]; !ok {
37 req.Header.Set("User-Agent", rt.userAgent)
38 }
39 return rt.inner.RoundTrip(req)
40}