init push
This commit is contained in:
45
internal/queue/context.go
Normal file
45
internal/queue/context.go
Normal file
@@ -0,0 +1,45 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user