diff options
author | Alex Pilon <apilon@hashicorp.com> | 2019-02-22 18:24:37 -0500 |
---|---|---|
committer | Alex Pilon <apilon@hashicorp.com> | 2019-02-22 18:24:37 -0500 |
commit | 15c0b25d011f37e7c20aeca9eaf461f78285b8d9 (patch) | |
tree | 255c250a5c9d4801c74092d33b7337d8c14438ff /vendor/github.com/hashicorp/terraform/httpclient | |
parent | 07971ca38143c5faf951d152fba370ddcbe26ad5 (diff) | |
download | terraform-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')
-rw-r--r-- | vendor/github.com/hashicorp/terraform/httpclient/client.go | 18 | ||||
-rw-r--r-- | vendor/github.com/hashicorp/terraform/httpclient/useragent.go | 40 |
2 files changed, 58 insertions, 0 deletions
diff --git a/vendor/github.com/hashicorp/terraform/httpclient/client.go b/vendor/github.com/hashicorp/terraform/httpclient/client.go new file mode 100644 index 0000000..bb06beb --- /dev/null +++ b/vendor/github.com/hashicorp/terraform/httpclient/client.go | |||
@@ -0,0 +1,18 @@ | |||
1 | package httpclient | ||
2 | |||
3 | import ( | ||
4 | "net/http" | ||
5 | |||
6 | cleanhttp "github.com/hashicorp/go-cleanhttp" | ||
7 | ) | ||
8 | |||
9 | // New returns the DefaultPooledClient from the cleanhttp | ||
10 | // package that will also send a Terraform User-Agent string. | ||
11 | func New() *http.Client { | ||
12 | cli := cleanhttp.DefaultPooledClient() | ||
13 | cli.Transport = &userAgentRoundTripper{ | ||
14 | userAgent: UserAgentString(), | ||
15 | inner: cli.Transport, | ||
16 | } | ||
17 | return cli | ||
18 | } | ||
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 @@ | |||
1 | package httpclient | ||
2 | |||
3 | import ( | ||
4 | "fmt" | ||
5 | "log" | ||
6 | "net/http" | ||
7 | "os" | ||
8 | "strings" | ||
9 | |||
10 | "github.com/hashicorp/terraform/version" | ||
11 | ) | ||
12 | |||
13 | const userAgentFormat = "Terraform/%s" | ||
14 | const uaEnvVar = "TF_APPEND_USER_AGENT" | ||
15 | |||
16 | func 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 | |||
30 | type userAgentRoundTripper struct { | ||
31 | inner http.RoundTripper | ||
32 | userAgent string | ||
33 | } | ||
34 | |||
35 | func (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 | } | ||