RequestID
RequestID 是 Fiber 的一个中间件,用于向响应添加一个标识符。
签名
func New(config ...Config) fiber.Handler
示例
导入作为 Fiber Web 框架一部分的中间件包
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/requestid"
)
初始化 Fiber 应用后,可以使用以下配置项
// Initialize default config
app.Use(requestid.New())
// Or extend your config for customization
app.Use(requestid.New(requestid.Config{
Header: "X-Custom-Header",
Generator: func() string {
return "static-id"
},
}))
配置
属性 | 类型 | 描述 | 默认值 |
---|---|---|---|
下一个 | func(*fiber.Ctx) bool | Next 定义一个函数,当返回 true 时跳过此中间件。 | nil |
Header | string | Header 是用于获取/设置唯一请求 ID 的标头键。 | "X-Request-ID" |
生成器 | func() string | Generator 定义一个函数,用于生成唯一标识符。 | utils.UUID |
上下文键 | interface{} | ContextKey 定义了在本地存储特定请求的请求 ID 时使用的键。 | "requestid" |
默认配置
默认配置使用一个快速 UUID 生成器,它会暴露服务器处理的请求数量。为了更好的隐私性,可以使用 utils.UUIDv4
生成器来隐藏此值。
var ConfigDefault = Config{
Next: nil,
Header: fiber.HeaderXRequestID,
Generator: utils.UUID,
ContextKey: "requestid",
}