# README
middleware
middleware Go HTTP 的中间件,提供了大部分实用的功能。
可以选择与 mux 一起使用; 也可以采用 Manager 直接与标准库的 net/http 一起使用。
- auth 基本的验证处理;
- compress 对内容进行压缩;
- errorhandler 处理各类状态码下的输出;
- header 输出指定的报头;
- health 接口状态的监测;
- ratelimit x-rate-limit 的相关实现;
- recovery 对 Panic 的处理;
- debugger 用于输出测试的中间件;
安装
go get github.com/issue9/middleware/v4
版权
# Packages
Package auth 验证类的中间件.
Package compress 提供一个支持内容压缩的中间件.
Package debugger 提供测试和性能测试相关的中间件.
Package errorhandler 提供自定义错误页面的功能.
Package header 用于指定输出的报头.
Package health API 状态检测.
Package ratelimit 提供了 X-Rate-Limit 功能的中间件
X-Rate-Limit-Limit: 同一个时间段所允许的请求的最大数目; X-Rate-Limit-Remaining: 在当前时间段内剩余的请求的数量; X-Rate-Limit-Reset: 为了得到最大请求数所等待的秒数。
store := NewMemory(...) srv := New(store) h = srv.Middleware(h).
Package recovery 提供了处理 panic 操作的中间件
recovery.RecoverFunc(func(w http.ResponseWriter, msg interface{}) { fmt.Printf("recovery: %s", msg) }).MiddlewareFunc(func(w http.ResponseWriter, r *http.Request){ panic("panic") }).
# Functions
NewMiddlewares 声明新的 Middlewares 实例.
# Type aliases
Middlewares 中间件管理.