From ddd690de4cc133bc728f765b2492ccb54f9d84ca Mon Sep 17 00:00:00 2001 From: James Birtles Date: Fri, 26 Jun 2020 22:14:47 +0100 Subject: caddyhttp: Support placeholders in query matcher (#3521) --- modules/caddyhttp/matchers.go | 3 +++ 1 file changed, 3 insertions(+) (limited to 'modules/caddyhttp/matchers.go') diff --git a/modules/caddyhttp/matchers.go b/modules/caddyhttp/matchers.go index a291242..164f443 100644 --- a/modules/caddyhttp/matchers.go +++ b/modules/caddyhttp/matchers.go @@ -374,10 +374,13 @@ func (m *MatchQuery) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { // Match returns true if r matches m. An empty m matches an empty query string. func (m MatchQuery) Match(r *http.Request) bool { + repl := r.Context().Value(caddy.ReplacerCtxKey).(*caddy.Replacer) for param, vals := range m { + param = repl.ReplaceAll(param, "") paramVal, found := r.URL.Query()[param] if found { for _, v := range vals { + v = repl.ReplaceAll(v, "") if paramVal[0] == v || v == "*" { return true } -- cgit v1.2.3