Skip to main content

Request ID

RequestID keeps request IDs available through Zinc's normal context helpers.

app.Use(middleware.RequestID())

If the request already includes X-Request-ID, Zinc reuses it. Otherwise Zinc generates a 16-byte random hex ID, writes it back to the request header, and publishes it on the response.

app.Get("/events", func(c *zinc.Context) error {
return c.JSON(zinc.Map{
"request_id": middleware.RequestIDValue(c),
})
})

Use RequestIDWithConfig when a different header or generator is needed.

app.Use(middleware.RequestIDWithConfig(middleware.RequestIDConfig{
Header: "X-Correlation-ID",
Generator: middleware.StaticRequestID("local-dev"),
}))

Inside handlers, use:

  • RequestIDValue(c)
  • RequestIDCurrent(c)
  • MustRequestIDCurrent(c)