summaryrefslogtreecommitdiff
path: root/modules/caddyhttp/rewrite/rewrite_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/caddyhttp/rewrite/rewrite_test.go')
-rw-r--r--modules/caddyhttp/rewrite/rewrite_test.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/modules/caddyhttp/rewrite/rewrite_test.go b/modules/caddyhttp/rewrite/rewrite_test.go
index 34a0cdb..fb4931b 100644
--- a/modules/caddyhttp/rewrite/rewrite_test.go
+++ b/modules/caddyhttp/rewrite/rewrite_test.go
@@ -158,6 +158,36 @@ func TestRewrite(t *testing.T) {
input: newRequest(t, "GET", "/foo/bar?a=b"),
expect: newRequest(t, "GET", "/foo?a=b#frag"),
},
+ {
+ rule: Rewrite{URI: "/foo{http.request.uri}"},
+ input: newRequest(t, "GET", "/bar?a=b"),
+ expect: newRequest(t, "GET", "/foo/bar?a=b"),
+ },
+ {
+ rule: Rewrite{URI: "/foo{http.request.uri}"},
+ input: newRequest(t, "GET", "/bar"),
+ expect: newRequest(t, "GET", "/foo/bar"),
+ },
+ {
+ rule: Rewrite{URI: "/foo{http.request.uri}?c=d"},
+ input: newRequest(t, "GET", "/bar?a=b"),
+ expect: newRequest(t, "GET", "/foo/bar?c=d"),
+ },
+ {
+ rule: Rewrite{URI: "/foo{http.request.uri}?{http.request.uri.query}&c=d"},
+ input: newRequest(t, "GET", "/bar?a=b"),
+ expect: newRequest(t, "GET", "/foo/bar?a=b&c=d"),
+ },
+ {
+ rule: Rewrite{URI: "{http.request.uri}"},
+ input: newRequest(t, "GET", "/bar?a=b"),
+ expect: newRequest(t, "GET", "/bar?a=b"),
+ },
+ {
+ rule: Rewrite{URI: "{http.request.uri.path}bar?c=d"},
+ input: newRequest(t, "GET", "/foo/?a=b"),
+ expect: newRequest(t, "GET", "/foo/bar?c=d"),
+ },
{
rule: Rewrite{StripPathPrefix: "/prefix"},
@@ -211,6 +241,7 @@ func TestRewrite(t *testing.T) {
}
// populate the replacer just enough for our tests
+ repl.Set("http.request.uri", tc.input.RequestURI)
repl.Set("http.request.uri.path", tc.input.URL.Path)
repl.Set("http.request.uri.query", tc.input.URL.RawQuery)