From 830eb864ef1ae31e1f366486cb7293bd189a0388 Mon Sep 17 00:00:00 2001 From: wood chen Date: Thu, 31 Oct 2024 07:21:06 +0800 Subject: [PATCH] refactor(main): improve CDNJS path matching logic --- main.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/main.go b/main.go index 3c0d8d4..04e1f13 100644 --- a/main.go +++ b/main.go @@ -45,14 +45,18 @@ func main() { // 创建主处理器 mainHandler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - if strings.HasPrefix(r.URL.Path, "/cdnjs") { - // CDNJS 请求使用 CDNJS 中间件处理 - handler := middleware.CDNJSMiddleware(cdnjsConfigs)(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {})) - handler.ServeHTTP(w, r) - } else { - // 非 CDNJS 请求使用普通代理处理器 - proxyHandler.ServeHTTP(w, r) + // 检查是否匹配任何固定路径配置 + for _, cfg := range cdnjsConfigs { + if strings.HasPrefix(r.URL.Path, cfg.Path) { + // 使用 CDNJS 中间件处理 + handler := middleware.CDNJSMiddleware(cdnjsConfigs)(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {})) + handler.ServeHTTP(w, r) + return + } } + + // 如果没有匹配的固定路径,使用普通代理处理器 + proxyHandler.ServeHTTP(w, r) }) // 对非 CDNJS 请求添加压缩中间件