package middleware import ( "github.com/gin-gonic/gin" "github.com/google/uuid" ) const requestID = "X-Request-Id" func RequestID() gin.HandlerFunc { return func(ctx *gin.Context) { var rid string if rid = ctx.GetString(requestID); rid != "" { // request id exists already ctx.Next() } if rid = ctx.GetHeader(requestID); rid != "" { ctx.Set(requestID, rid) ctx.Next() } rid = uuid.NewString() ctx.Set(requestID, rid) } }