package middleware import ( "context" "lyra/internal/pkg/constant" "github.com/gin-gonic/gin" "github.com/google/uuid" ) func RequestIDMiddleware() gin.HandlerFunc { return func(c *gin.Context) { requestID := c.GetHeader("X-Request-ID") if requestID == "" { requestID = uuid.NewString() } c.Header("X-Request-ID", requestID) ctx := context.WithValue(c.Request.Context(), constant.RequestIDKey, requestID) c.Request = c.Request.WithContext(ctx) c.Next() } }