From 9a7e5a47967e8004f6c9d35477f26cf99769b3bd Mon Sep 17 00:00:00 2001 From: d3m0k1d Date: Thu, 22 Jan 2026 00:37:57 +0300 Subject: [PATCH] fix: fix matchPath logic --- internal/judge/judge.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/internal/judge/judge.go b/internal/judge/judge.go index 5415dce..7092eba 100644 --- a/internal/judge/judge.go +++ b/internal/judge/judge.go @@ -166,13 +166,20 @@ func matchPath(path string, rulePath string) bool { if rulePath == "" { return true } - if strings.HasPrefix(rulePath, "/*") { - prefix := strings.TrimPrefix(rulePath, "*") - return strings.HasPrefix(path, prefix) - } - if strings.HasSuffix(rulePath, "*") { - suffix := strings.TrimSuffix(rulePath, "*") + + if strings.HasPrefix(rulePath, "*") { + suffix := strings.TrimPrefix(rulePath, "*") return strings.HasSuffix(path, suffix) } + + if strings.HasPrefix(rulePath, "/*") { + suffix := strings.TrimPrefix(rulePath, "/*") + return strings.HasSuffix(path, suffix) + } + + if strings.HasSuffix(rulePath, "*") { + prefix := strings.TrimSuffix(rulePath, "*") + return strings.HasPrefix(path, prefix) + } return path == rulePath }