22 lines
373 B
Go
22 lines
373 B
Go
package middleware
|
|
|
|
import (
|
|
"context"
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/google/uuid"
|
|
"go-admin/logger"
|
|
)
|
|
|
|
type Trace struct {
|
|
}
|
|
|
|
func (t Trace) Handle() gin.HandlerFunc {
|
|
return func(ctx *gin.Context) {
|
|
traceId := uuid.New().String()
|
|
logger.WithContext(context.WithValue(ctx, logger.TraceIdKey, traceId))
|
|
|
|
ctx.Header("trace_id", traceId)
|
|
ctx.Next()
|
|
}
|
|
}
|