From 21408212dafc1b37e2f2d51a4c4afbcc9cef403b Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Tue, 17 Dec 2019 16:29:37 -0700 Subject: http: query and query_string placeholders should use RawQuery, probably --- modules/caddyhttp/replacer.go | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'modules/caddyhttp/replacer.go') diff --git a/modules/caddyhttp/replacer.go b/modules/caddyhttp/replacer.go index b806fdc..c8fae79 100644 --- a/modules/caddyhttp/replacer.go +++ b/modules/caddyhttp/replacer.go @@ -105,7 +105,7 @@ func addHTTPVarsToReplacer(repl caddy.Replacer, req *http.Request, w http.Respon case "http.request.uri.query": return req.URL.RawQuery, true case "http.request.uri.query_string": - return "?" + req.URL.Query().Encode(), true + return "?" + req.URL.RawQuery, true // original request, before any internal changes case "http.request.orig_method": @@ -130,11 +130,7 @@ func addHTTPVarsToReplacer(repl caddy.Replacer, req *http.Request, w http.Respon return or.URL.RawQuery, true case "http.request.orig_uri.query_string": or, _ := req.Context().Value(OriginalRequestCtxKey).(http.Request) - qs := or.URL.Query().Encode() - if qs != "" { - qs = "?" + qs - } - return qs, true + return "?" + or.URL.RawQuery, true } // hostname labels -- cgit v1.2.3