aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/hashicorp/terraform/httpclient
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
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')
-rw-r--r--vendor/github.com/hashicorp/terraform/httpclient/client.go18
-rw-r--r--vendor/github.com/hashicorp/terraform/httpclient/useragent.go40
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 @@
1package httpclient
2
3import (
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.
11func 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 @@
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}