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  }