package builtin import ( ctxpkg "github.com/noahlann/nnet/pkg/context" routerpkg "github.com/noahlann/nnet/pkg/router" ) // AuthMiddleware 认证中间件工厂 func AuthMiddleware(validator func(ctx ctxpkg.Context) bool) routerpkg.Handler { return func(ctx ctxpkg.Context) error { if validator == nil { return nil } if !validator(ctx) { ctx.Response().WriteString("Unauthorized\n") return nil // 或者返回错误 } return nil } } // TokenAuthMiddleware Token认证中间件 func TokenAuthMiddleware(tokenKey string, expectedToken string) routerpkg.Handler { return AuthMiddleware(func(ctx ctxpkg.Context) bool { token := ctx.GetString(tokenKey) return token == expectedToken }) } // HeaderAuthMiddleware Header认证中间件 func HeaderAuthMiddleware(headerKey string, expectedValue string) routerpkg.Handler { return AuthMiddleware(func(ctx ctxpkg.Context) bool { value := ctx.GetString(headerKey) return value == expectedValue }) }