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) }