From 1feb65952acd814f9abcfb8e38f727f4e49e9e68 Mon Sep 17 00:00:00 2001 From: Francis Lavoie Date: Thu, 13 Jan 2022 12:17:15 -0500 Subject: rewrite: Fix a double-encode issue when using the `{uri}` placeholder (#4516) --- modules/caddyhttp/rewrite/rewrite_test.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'modules/caddyhttp/rewrite/rewrite_test.go') diff --git a/modules/caddyhttp/rewrite/rewrite_test.go b/modules/caddyhttp/rewrite/rewrite_test.go index 4d595e2..38d96fe 100644 --- a/modules/caddyhttp/rewrite/rewrite_test.go +++ b/modules/caddyhttp/rewrite/rewrite_test.go @@ -189,6 +189,21 @@ func TestRewrite(t *testing.T) { input: newRequest(t, "GET", "/foo/?a=b"), expect: newRequest(t, "GET", "/foo/bar?c=d"), }, + { + rule: Rewrite{URI: "/i{http.request.uri}"}, + input: newRequest(t, "GET", "/%C2%B7%E2%88%B5.png"), + expect: newRequest(t, "GET", "/i/%C2%B7%E2%88%B5.png"), + }, + { + rule: Rewrite{URI: "/i{http.request.uri}"}, + input: newRequest(t, "GET", "/·∵.png?a=b"), + expect: newRequest(t, "GET", "/i/%C2%B7%E2%88%B5.png?a=b"), + }, + { + rule: Rewrite{URI: "/i{http.request.uri}"}, + input: newRequest(t, "GET", "/%C2%B7%E2%88%B5.png?a=b"), + expect: newRequest(t, "GET", "/i/%C2%B7%E2%88%B5.png?a=b"), + }, { rule: Rewrite{StripPathPrefix: "/prefix"}, -- cgit v1.2.3