aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/hashicorp/go-cleanhttp
diff options
context:
space:
mode:
authorappilon <apilon@hashicorp.com>2019-02-27 16:43:31 -0500
committerGitHub <noreply@github.com>2019-02-27 16:43:31 -0500
commit844b5a68d8af4791755b8f0ad293cc99f5959183 (patch)
tree255c250a5c9d4801c74092d33b7337d8c14438ff /vendor/github.com/hashicorp/go-cleanhttp
parent303b299eeb6b06e939e35905e4b34cb410dd9dc3 (diff)
parent15c0b25d011f37e7c20aeca9eaf461f78285b8d9 (diff)
downloadterraform-provider-statuscake-844b5a68d8af4791755b8f0ad293cc99f5959183.tar.gz
terraform-provider-statuscake-844b5a68d8af4791755b8f0ad293cc99f5959183.tar.zst
terraform-provider-statuscake-844b5a68d8af4791755b8f0ad293cc99f5959183.zip
Merge pull request #27 from terraform-providers/go-modules-2019-02-22
[MODULES] Switch to Go Modules
Diffstat (limited to 'vendor/github.com/hashicorp/go-cleanhttp')
-rw-r--r--vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go1
-rw-r--r--vendor/github.com/hashicorp/go-cleanhttp/go.mod1
-rw-r--r--vendor/github.com/hashicorp/go-cleanhttp/handlers.go43
3 files changed, 45 insertions, 0 deletions
diff --git a/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go b/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go
index 7d8a57c..8d306bf 100644
--- a/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go
+++ b/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go
@@ -26,6 +26,7 @@ func DefaultPooledTransport() *http.Transport {
26 DialContext: (&net.Dialer{ 26 DialContext: (&net.Dialer{
27 Timeout: 30 * time.Second, 27 Timeout: 30 * time.Second,
28 KeepAlive: 30 * time.Second, 28 KeepAlive: 30 * time.Second,
29 DualStack: true,
29 }).DialContext, 30 }).DialContext,
30 MaxIdleConns: 100, 31 MaxIdleConns: 100,
31 IdleConnTimeout: 90 * time.Second, 32 IdleConnTimeout: 90 * time.Second,
diff --git a/vendor/github.com/hashicorp/go-cleanhttp/go.mod b/vendor/github.com/hashicorp/go-cleanhttp/go.mod
new file mode 100644
index 0000000..310f075
--- /dev/null
+++ b/vendor/github.com/hashicorp/go-cleanhttp/go.mod
@@ -0,0 +1 @@
module github.com/hashicorp/go-cleanhttp
diff --git a/vendor/github.com/hashicorp/go-cleanhttp/handlers.go b/vendor/github.com/hashicorp/go-cleanhttp/handlers.go
new file mode 100644
index 0000000..7eda377
--- /dev/null
+++ b/vendor/github.com/hashicorp/go-cleanhttp/handlers.go
@@ -0,0 +1,43 @@
1package cleanhttp
2
3import (
4 "net/http"
5 "strings"
6 "unicode"
7)
8
9// HandlerInput provides input options to cleanhttp's handlers
10type HandlerInput struct {
11 ErrStatus int
12}
13
14// PrintablePathCheckHandler is a middleware that ensures the request path
15// contains only printable runes.
16func PrintablePathCheckHandler(next http.Handler, input *HandlerInput) http.Handler {
17 // Nil-check on input to make it optional
18 if input == nil {
19 input = &HandlerInput{
20 ErrStatus: http.StatusBadRequest,
21 }
22 }
23
24 // Default to http.StatusBadRequest on error
25 if input.ErrStatus == 0 {
26 input.ErrStatus = http.StatusBadRequest
27 }
28
29 return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
30 // Check URL path for non-printable characters
31 idx := strings.IndexFunc(r.URL.Path, func(c rune) bool {
32 return !unicode.IsPrint(c)
33 })
34
35 if idx != -1 {
36 w.WriteHeader(input.ErrStatus)
37 return
38 }
39
40 next.ServeHTTP(w, r)
41 return
42 })
43}