ExpVar
用于 Fiber 的 Expvar 中间件,通过其 HTTP 服务器运行时以 JSON 格式提供暴露的变量。通常只需导入此包即可注册其 HTTP 处理程序。处理的路径是 /debug/vars
。
签名
func New() fiber.Handler
示例
导入 Fiber Web 框架中的中间件包
import (
"github.com/gofiber/fiber/v2"
expvarmw "github.com/gofiber/fiber/v2/middleware/expvar"
)
初始化 Fiber 应用后,可以使用以下方式
var count = expvar.NewInt("count")
app.Use(expvarmw.New())
app.Get("/", func(c *fiber.Ctx) error {
count.Add(1)
return c.SendString(fmt.Sprintf("hello expvar count %d", count.Value()))
})
访问路径 /debug/vars
查看所有变量,并使用查询参数 r=key
过滤暴露的变量。
curl 127.0.0.1:3000
hello expvar count 1
curl 127.0.0.1:3000/debug/vars
{
"cmdline": ["xxx"],
"count": 1,
"expvarHandlerCalls": 33,
"expvarRegexpErrors": 0,
"memstats": {...}
}
curl 127.0.0.1:3000/debug/vars?r=c
{
"cmdline": ["xxx"],
"count": 1
}
配置
属性 | 类型 | 描述 | 默认值 |
---|---|---|---|
下一页 | func(*fiber.Ctx) bool | Next 定义一个函数,返回 true 时跳过此中间件。 | nil |
默认配置
var ConfigDefault = Config{
Next: nil,
}