Files
fm_be/internal/queue/context.go
2026-07-16 22:16:45 +07:00

46 lines
973 B
Go

package queue
import (
"context"
"strings"
)
type contextKey string
const (
correlationIDKey contextKey = "queue-correlation-id"
traceIDKey contextKey = "queue-trace-id"
)
func WithCorrelationID(ctx context.Context, correlationID string) context.Context {
correlationID = strings.TrimSpace(correlationID)
if correlationID == "" {
return ctx
}
return context.WithValue(ctx, correlationIDKey, correlationID)
}
func CorrelationIDFromContext(ctx context.Context) string {
if ctx == nil {
return ""
}
value, _ := ctx.Value(correlationIDKey).(string)
return strings.TrimSpace(value)
}
func WithTraceID(ctx context.Context, traceID string) context.Context {
traceID = strings.TrimSpace(traceID)
if traceID == "" {
return ctx
}
return context.WithValue(ctx, traceIDKey, traceID)
}
func TraceIDFromContext(ctx context.Context) string {
if ctx == nil {
return ""
}
value, _ := ctx.Value(traceIDKey).(string)
return strings.TrimSpace(value)
}