From 909a209540297db8850dca27a70366658cbfa314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8C=B6=E6=B8=85=E6=AC=A2?= Date: Fri, 9 Jan 2026 16:00:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E8=AE=BE=E7=BD=AEdem?= =?UTF-8?q?o=E6=A3=80=E6=9F=A5=E4=B8=AD=E9=97=B4=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- router/option.go | 11 +++++++++++ router/server.go | 4 ++++ 2 files changed, 15 insertions(+) diff --git a/router/option.go b/router/option.go index b79ce4a..ecee4bf 100644 --- a/router/option.go +++ b/router/option.go @@ -25,6 +25,17 @@ type serverOption struct { loggerCfg *middleware.AccessConfig // 日志配置 initContextData gin.HandlerFunc // 初始化一些请求数据 rateLimitInstance abstract.IRateLimit // 服务流控实例 + demoCheck gin.HandlerFunc // demo检查 +} + +// WithDemoCheck 设置demo检查 +func WithDemoCheck(f gin.HandlerFunc) SetServerOptionFunc { + return func(so *serverOption) { + if nil == f { + return + } + so.demoCheck = f + } } // WithRateLimitInstance 设置流控实例, 配置为 nil, 代表禁用 diff --git a/router/server.go b/router/server.go index 16e4f33..d0fcd50 100644 --- a/router/server.go +++ b/router/server.go @@ -143,6 +143,10 @@ func (s *Server) getGlobalMiddlewareList(option *serverOption) { AllowFiles: true, })) } + // demo 检查 + if nil != option.demoCheck { + s.globalMiddlewareList = append(s.globalMiddlewareList, option.demoCheck) + } if len(option.globalMiddlewareList) > 0 { // 自定义全局中间件追加 s.globalMiddlewareList = append(s.globalMiddlewareList, option.globalMiddlewareList...)