You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Request ID middleware for Gin Framework. Adds an indentifier to the response using the X-Request-ID header. Passes the X-Request-ID value back to the caller if it's sent in the request headers.
Usage
Start using it
Download and install it.
go get github.com/gin-contrib/requestid
Import it in your code, then use it:
import"github.com/gin-contrib/requestid"
Config
define your custom generator function:
funcmain() {
r:=gin.New()
r.Use(
requestid.New(
requestid.WithGenerator(func() string {
return"test"
}),
requestid.WithCustomHeaderStrKey("your-customer-key"),
),
)
// Example ping request.r.GET("/ping", func(c*gin.Context) {
c.String(http.StatusOK, "pong "+fmt.Sprint(time.Now().Unix()))
})
// Listen and Server in 0.0.0.0:8080r.Run(":8080")
}
Example
package main
import (
"fmt""net/http""time""github.com/gin-contrib/requestid""github.com/gin-gonic/gin"
)
funcmain() {
r:=gin.New()
r.Use(requestid.New())
// Example ping request.r.GET("/ping", func(c*gin.Context) {
c.String(http.StatusOK, "pong "+fmt.Sprint(time.Now().Unix()))
})
// Listen and Server in 0.0.0.0:8080r.Run(":8080")
}
How to get the request identifier:
// Example / request.r.GET("/", func(c*gin.Context) {
c.String(http.StatusOK, "id:"+requestid.Get(c))
})
You can also get the request identifier from response header: