github.com/kyma-incubator/compass/components/director@v0.0.0-20230623144113-d764f56ff805/pkg/consumer/context.go (about) 1 package consumer 2 3 import ( 4 "context" 5 6 "github.com/kyma-incubator/compass/components/director/pkg/apperrors" 7 ) 8 9 type contextKey string 10 11 // ConsumerKey missing godoc 12 const ConsumerKey contextKey = "consumer" 13 14 // NoConsumerError missing godoc 15 var NoConsumerError = apperrors.NewInternalError("cannot read consumer from context") 16 17 // LoadFromContext missing godoc 18 func LoadFromContext(ctx context.Context) (Consumer, error) { 19 value := ctx.Value(ConsumerKey) 20 21 consumer, ok := value.(Consumer) 22 23 if !ok { 24 return Consumer{}, NoConsumerError 25 } 26 27 return consumer, nil 28 } 29 30 // SaveToContext missing godoc 31 func SaveToContext(ctx context.Context, consumer Consumer) context.Context { 32 return context.WithValue(ctx, ConsumerKey, consumer) 33 }