From 65eead519392fde55c198dda2b58542985a5c205 Mon Sep 17 00:00:00 2001 From: nyne Date: Sat, 24 May 2025 20:45:43 +0800 Subject: [PATCH] Unescape and trim whitespace from tag name in URL handling --- server/middleware/frontend_middleware.go | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/server/middleware/frontend_middleware.go b/server/middleware/frontend_middleware.go index b836eae..fc71e08 100644 --- a/server/middleware/frontend_middleware.go +++ b/server/middleware/frontend_middleware.go @@ -2,6 +2,7 @@ package middleware import ( "fmt" + url2 "net/url" "nysoure/server/config" "nysoure/server/service" "nysoure/server/utils" @@ -94,10 +95,14 @@ func serveIndexHtml(c fiber.Ctx) error { } } else if strings.HasPrefix(path, "/tag/") { tagName := strings.TrimPrefix(path, "/tag/") - t, err := service.GetTagByName(tagName) + tagName, err := url2.PathUnescape(tagName) + tagName = strings.TrimSpace(tagName) if err == nil { - title = "Tag: " + t.Name - description = utils.ArticleToDescription(t.Description, 256) + t, err := service.GetTagByName(tagName) + if err == nil { + title = "Tag: " + t.Name + description = utils.ArticleToDescription(t.Description, 256) + } } }