summaryrefslogtreecommitdiff
path: root/modules/caddyhttp/matchers_test.go
diff options
context:
space:
mode:
authorFrancis Lavoie <lavofr@gmail.com>2021-05-02 14:39:06 -0400
committerGitHub <noreply@github.com>2021-05-02 12:39:06 -0600
commite4a22de9d1c4d7aa83126ee13e40b61e7b0e9df0 (patch)
tree82e3134b3c83d258fb08299e917cfa9b9d980ff7 /modules/caddyhttp/matchers_test.go
parente6f6d3a4765565b09f95a29a2e75be34e1d70359 (diff)
reverseproxy: Add `handle_response` blocks to `reverse_proxy` (#3710) (#4021)
* reverseproxy: Add `handle_response` blocks to `reverse_proxy` (#3710) * reverseproxy: complete handle_response test * reverseproxy: Change handle_response matchers to use named matchers reverseproxy: Add support for changing status code * fastcgi: Remove obsolete TODO We already have d.Err("transport already specified") in the reverse_proxy parsing code which covers this case * reverseproxy: Fix support for "4xx" type status codes * Apply suggestions from code review Co-authored-by: Matt Holt <mholt@users.noreply.github.com> * caddyhttp: Reorganize response matchers * reverseproxy: Reintroduce caddyfile.Unmarshaler * reverseproxy: Add comment mentioning Finalize should be called Co-authored-by: Maxime Soulé <btik-git@scoubidou.com> Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
Diffstat (limited to 'modules/caddyhttp/matchers_test.go')
-rw-r--r--modules/caddyhttp/matchers_test.go149
1 files changed, 0 insertions, 149 deletions
diff --git a/modules/caddyhttp/matchers_test.go b/modules/caddyhttp/matchers_test.go
index 950020f..2ec7039 100644
--- a/modules/caddyhttp/matchers_test.go
+++ b/modules/caddyhttp/matchers_test.go
@@ -804,155 +804,6 @@ func TestVarREMatcher(t *testing.T) {
}
}
-func TestResponseMatcher(t *testing.T) {
- for i, tc := range []struct {
- require ResponseMatcher
- status int
- hdr http.Header // make sure these are canonical cased (std lib will do that in a real request)
- expect bool
- }{
- {
- require: ResponseMatcher{},
- status: 200,
- expect: true,
- },
- {
- require: ResponseMatcher{
- StatusCode: []int{200},
- },
- status: 200,
- expect: true,
- },
- {
- require: ResponseMatcher{
- StatusCode: []int{2},
- },
- status: 200,
- expect: true,
- },
- {
- require: ResponseMatcher{
- StatusCode: []int{201},
- },
- status: 200,
- expect: false,
- },
- {
- require: ResponseMatcher{
- StatusCode: []int{2},
- },
- status: 301,
- expect: false,
- },
- {
- require: ResponseMatcher{
- StatusCode: []int{3},
- },
- status: 301,
- expect: true,
- },
- {
- require: ResponseMatcher{
- StatusCode: []int{3},
- },
- status: 399,
- expect: true,
- },
- {
- require: ResponseMatcher{
- StatusCode: []int{3},
- },
- status: 400,
- expect: false,
- },
- {
- require: ResponseMatcher{
- StatusCode: []int{3, 4},
- },
- status: 400,
- expect: true,
- },
- {
- require: ResponseMatcher{
- StatusCode: []int{3, 401},
- },
- status: 401,
- expect: true,
- },
- {
- require: ResponseMatcher{
- Headers: http.Header{
- "Foo": []string{"bar"},
- },
- },
- hdr: http.Header{"Foo": []string{"bar"}},
- expect: true,
- },
- {
- require: ResponseMatcher{
- Headers: http.Header{
- "Foo2": []string{"bar"},
- },
- },
- hdr: http.Header{"Foo": []string{"bar"}},
- expect: false,
- },
- {
- require: ResponseMatcher{
- Headers: http.Header{
- "Foo": []string{"bar", "baz"},
- },
- },
- hdr: http.Header{"Foo": []string{"baz"}},
- expect: true,
- },
- {
- require: ResponseMatcher{
- Headers: http.Header{
- "Foo": []string{"bar"},
- "Foo2": []string{"baz"},
- },
- },
- hdr: http.Header{"Foo": []string{"baz"}},
- expect: false,
- },
- {
- require: ResponseMatcher{
- Headers: http.Header{
- "Foo": []string{"bar"},
- "Foo2": []string{"baz"},
- },
- },
- hdr: http.Header{"Foo": []string{"bar"}, "Foo2": []string{"baz"}},
- expect: true,
- },
- {
- require: ResponseMatcher{
- Headers: http.Header{
- "Foo": []string{"foo*"},
- },
- },
- hdr: http.Header{"Foo": []string{"foobar"}},
- expect: true,
- },
- {
- require: ResponseMatcher{
- Headers: http.Header{
- "Foo": []string{"foo*"},
- },
- },
- hdr: http.Header{"Foo": []string{"foobar"}},
- expect: true,
- },
- } {
- actual := tc.require.Match(tc.status, tc.hdr)
- if actual != tc.expect {
- t.Errorf("Test %d %v: Expected %t, got %t for HTTP %d %v", i, tc.require, tc.expect, actual, tc.status, tc.hdr)
- continue
- }
- }
-}
-
func TestNotMatcher(t *testing.T) {
for i, tc := range []struct {
host, path string