diff options
author | Christopher Speller <crspeller@gmail.com> | 2018-04-16 05:37:14 -0700 |
---|---|---|
committer | Joram Wilander <jwawilander@gmail.com> | 2018-04-16 08:37:14 -0400 |
commit | 6e2cb00008cbf09e556b00f87603797fcaa47e09 (patch) | |
tree | 3c0eb55ff4226a3f024aad373140d1fb860a6404 /vendor/github.com/gorilla/handlers/proxy_headers_test.go | |
parent | bf24f51c4e1cc6286885460672f7f449e8c6f5ef (diff) | |
download | chat-6e2cb00008cbf09e556b00f87603797fcaa47e09.tar.gz chat-6e2cb00008cbf09e556b00f87603797fcaa47e09.tar.bz2 chat-6e2cb00008cbf09e556b00f87603797fcaa47e09.zip |
Depenancy upgrades and movign to dep. (#8630)
Diffstat (limited to 'vendor/github.com/gorilla/handlers/proxy_headers_test.go')
-rw-r--r-- | vendor/github.com/gorilla/handlers/proxy_headers_test.go | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/vendor/github.com/gorilla/handlers/proxy_headers_test.go b/vendor/github.com/gorilla/handlers/proxy_headers_test.go deleted file mode 100644 index 1bd78052d..000000000 --- a/vendor/github.com/gorilla/handlers/proxy_headers_test.go +++ /dev/null @@ -1,111 +0,0 @@ -package handlers - -import ( - "net/http" - "net/http/httptest" - "testing" -) - -type headerTable struct { - key string // header key - val string // header val - expected string // expected result -} - -func TestGetIP(t *testing.T) { - headers := []headerTable{ - {xForwardedFor, "8.8.8.8", "8.8.8.8"}, // Single address - {xForwardedFor, "8.8.8.8, 8.8.4.4", "8.8.8.8"}, // Multiple - {xForwardedFor, "[2001:db8:cafe::17]:4711", "[2001:db8:cafe::17]:4711"}, // IPv6 address - {xForwardedFor, "", ""}, // None - {xRealIP, "8.8.8.8", "8.8.8.8"}, // Single address - {xRealIP, "8.8.8.8, 8.8.4.4", "8.8.8.8, 8.8.4.4"}, // Multiple - {xRealIP, "[2001:db8:cafe::17]:4711", "[2001:db8:cafe::17]:4711"}, // IPv6 address - {xRealIP, "", ""}, // None - {forwarded, `for="_gazonk"`, "_gazonk"}, // Hostname - {forwarded, `For="[2001:db8:cafe::17]:4711`, `[2001:db8:cafe::17]:4711`}, // IPv6 address - {forwarded, `for=192.0.2.60;proto=http;by=203.0.113.43`, `192.0.2.60`}, // Multiple params - {forwarded, `for=192.0.2.43, for=198.51.100.17`, "192.0.2.43"}, // Multiple params - {forwarded, `for="workstation.local",for=198.51.100.17`, "workstation.local"}, // Hostname - } - - for _, v := range headers { - req := &http.Request{ - Header: http.Header{ - v.key: []string{v.val}, - }} - res := getIP(req) - if res != v.expected { - t.Fatalf("wrong header for %s: got %s want %s", v.key, res, - v.expected) - } - } -} - -func TestGetScheme(t *testing.T) { - headers := []headerTable{ - {xForwardedProto, "https", "https"}, - {xForwardedProto, "http", "http"}, - {xForwardedProto, "HTTP", "http"}, - {xForwardedScheme, "https", "https"}, - {xForwardedScheme, "http", "http"}, - {xForwardedScheme, "HTTP", "http"}, - {forwarded, `For="[2001:db8:cafe::17]:4711`, ""}, // No proto - {forwarded, `for=192.0.2.43, for=198.51.100.17;proto=https`, "https"}, // Multiple params before proto - {forwarded, `for=172.32.10.15; proto=https;by=127.0.0.1`, "https"}, // Space before proto - {forwarded, `for=192.0.2.60;proto=http;by=203.0.113.43`, "http"}, // Multiple params - } - - for _, v := range headers { - req := &http.Request{ - Header: http.Header{ - v.key: []string{v.val}, - }, - } - res := getScheme(req) - if res != v.expected { - t.Fatalf("wrong header for %s: got %s want %s", v.key, res, - v.expected) - } - } -} - -// Test the middleware end-to-end -func TestProxyHeaders(t *testing.T) { - rr := httptest.NewRecorder() - r := newRequest("GET", "/") - - r.Header.Set(xForwardedFor, "8.8.8.8") - r.Header.Set(xForwardedProto, "https") - r.Header.Set(xForwardedHost, "google.com") - var ( - addr string - proto string - host string - ) - ProxyHeaders(http.HandlerFunc( - func(w http.ResponseWriter, r *http.Request) { - addr = r.RemoteAddr - proto = r.URL.Scheme - host = r.Host - })).ServeHTTP(rr, r) - - if rr.Code != http.StatusOK { - t.Fatalf("bad status: got %d want %d", rr.Code, http.StatusOK) - } - - if addr != r.Header.Get(xForwardedFor) { - t.Fatalf("wrong address: got %s want %s", addr, - r.Header.Get(xForwardedFor)) - } - - if proto != r.Header.Get(xForwardedProto) { - t.Fatalf("wrong address: got %s want %s", proto, - r.Header.Get(xForwardedProto)) - } - if host != r.Header.Get(xForwardedHost) { - t.Fatalf("wrong address: got %s want %s", host, - r.Header.Get(xForwardedHost)) - } - -} |