Skip to content

中间件

🧱 `pkg/api/middleware.go` + `concurrency.go` — 请求处理链。

📁 源码:middleware.go · concurrency.go

中间件

符号源码说明
CreateAuthMiddlewaremiddleware.go#L11鉴权
CreateConcurrencyLimitMiddlewareconcurrency.go#L167并发限流

链顺序

鉴权在前:未授权请求不占用并发槽位。

顺序很关键:Auth 必须在 Concurrency 前

若 Concurrency 在前,未授权的垃圾请求也会占满并发槽位,把合法请求挤到队列——等于 DoS 放大。Auth 先过滤掉非法请求,再让通过的进入并发控制,是正确的防御顺序。

中间件链时序

下图展示一次请求穿过中间件链的完整时序:日志记录入口→鉴权过滤→并发限流获取槽位→(可选 CORS)→进入业务 Handler,再沿链路返回响应。鉴权失败或队列满都会提前短路。

注册

SetupRoutes 把中间件应用到路由组。

扩展

可自行加日志/Recovery/CORS 中间件,遵循 gorilla/mux func(http.Handler) http.Handler 签名。

下一步

基于 MIT 许可发布