From 95e372a6503b20e86e04f476ceda5455fdff2f11 Mon Sep 17 00:00:00 2001 From: armadi1809 Date: Sun, 25 Feb 2024 20:41:19 -0600 Subject: [PATCH] Applied Replacer on all query keys and values --- modules/caddyhttp/rewrite/rewrite.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/modules/caddyhttp/rewrite/rewrite.go b/modules/caddyhttp/rewrite/rewrite.go index fa08afa3126..f0208fa8b8e 100644 --- a/modules/caddyhttp/rewrite/rewrite.go +++ b/modules/caddyhttp/rewrite/rewrite.go @@ -274,7 +274,7 @@ func (rewr Rewrite) Rewrite(r *http.Request, repl *caddy.Replacer) bool { // apply query operations if rewr.QueryOperations != nil { - rewr.QueryOperations.do(r) + rewr.QueryOperations.do(r, repl) } // update the encoded copy of the URI @@ -490,22 +490,23 @@ type queryOps struct { Delete []string `json:"delete,omitempty"` } -func (q *queryOps) do(r *http.Request) { +func (q *queryOps) do(r *http.Request, repl *caddy.Replacer) { query := r.URL.Query() for _, addParam := range q.Add { - key := addParam.Key - val := addParam.Val + key := repl.ReplaceAll(addParam.Key, "") + val := repl.ReplaceAll(addParam.Val, "") query[key] = append(query[key], val) } for _, deleteParam := range q.Delete { - delete(query, deleteParam) + param := repl.ReplaceAll(deleteParam, "") + delete(query, param) } for _, setParam := range q.Set { - key := setParam.Key - val := setParam.Val + key := repl.ReplaceAll(setParam.Key, "") + val := repl.ReplaceAll(setParam.Val, "") query[key] = []string{val} }