go-micro.dev/v5@v5.12.0/broker/rabbitmq/context.go (about)

     1  package rabbitmq
     2  
     3  import (
     4  	"context"
     5  
     6  	"go-micro.dev/v5/broker"
     7  	"go-micro.dev/v5/server"
     8  )
     9  
    10  // setSubscribeOption returns a function to setup a context with given value.
    11  func setSubscribeOption(k, v interface{}) broker.SubscribeOption {
    12  	return func(o *broker.SubscribeOptions) {
    13  		if o.Context == nil {
    14  			o.Context = context.Background()
    15  		}
    16  		o.Context = context.WithValue(o.Context, k, v)
    17  	}
    18  }
    19  
    20  // setBrokerOption returns a function to setup a context with given value.
    21  func setBrokerOption(k, v interface{}) broker.Option {
    22  	return func(o *broker.Options) {
    23  		if o.Context == nil {
    24  			o.Context = context.Background()
    25  		}
    26  		o.Context = context.WithValue(o.Context, k, v)
    27  	}
    28  }
    29  
    30  // setBrokerOption returns a function to setup a context with given value.
    31  func setServerSubscriberOption(k, v interface{}) server.SubscriberOption {
    32  	return func(o *server.SubscriberOptions) {
    33  		if o.Context == nil {
    34  			o.Context = context.Background()
    35  		}
    36  		o.Context = context.WithValue(o.Context, k, v)
    37  	}
    38  }
    39  
    40  // setPublishOption returns a function to setup a context with given value.
    41  func setPublishOption(k, v interface{}) broker.PublishOption {
    42  	return func(o *broker.PublishOptions) {
    43  		if o.Context == nil {
    44  			o.Context = context.Background()
    45  		}
    46  		o.Context = context.WithValue(o.Context, k, v)
    47  	}
    48  }