跳到主要内容
版本:v2.x

ExpVar

Expvar 中间件用于 Fiber,它通过其 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) boolNext 定义了一个函数,当返回 true 时跳过此中间件。nil

默认配置

var ConfigDefault = Config{
Next: nil,
}