feat: update request ID handling to use trace package constants

This commit is contained in:
GitHub Actions
2025-12-01 00:37:50 +00:00
parent f1955711dc
commit 22a29955c8

View File

@@ -3,25 +3,25 @@ package middleware
import (
"context"
"github.com/Wikid82/charon/backend/internal/logger"
"github.com/Wikid82/charon/backend/internal/trace"
"github.com/gin-gonic/gin"
"github.com/google/uuid"
"github.com/sirupsen/logrus"
)
const RequestIDKey = "requestID"
const RequestIDHeader = "X-Request-ID"
// RequestID generates a uuid per request and places it in context and header.
func RequestID() gin.HandlerFunc {
return func(c *gin.Context) {
rid := uuid.New().String()
c.Set(RequestIDKey, rid)
c.Set(string(trace.RequestIDKey), rid)
c.Writer.Header().Set(RequestIDHeader, rid)
// Add to logger fields for this request
entry := logger.WithFields(map[string]interface{}{"request_id": rid})
c.Set("logger", entry)
// Propagate into the request context so it can be used by services
ctx := context.WithValue(c.Request.Context(), RequestIDKey, rid)
ctx := context.WithValue(c.Request.Context(), trace.RequestIDKey, rid)
c.Request = c.Request.WithContext(ctx)
c.Next()
}