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 }