gitee.com/liuxuezhan/go-micro-v1.18.0@v1.0.0/broker/nats/context.go (about) 1 package nats 2 3 import ( 4 "context" 5 6 "gitee.com/liuxuezhan/go-micro-v1.18.0/broker" 7 ) 8 9 // setSubscribeOption returns a function to setup a context with given value 10 func setSubscribeOption(k, v interface{}) broker.SubscribeOption { 11 return func(o *broker.SubscribeOptions) { 12 if o.Context == nil { 13 o.Context = context.Background() 14 } 15 o.Context = context.WithValue(o.Context, k, v) 16 } 17 } 18 19 // setBrokerOption returns a function to setup a context with given value 20 func setBrokerOption(k, v interface{}) broker.Option { 21 return func(o *broker.Options) { 22 if o.Context == nil { 23 o.Context = context.Background() 24 } 25 o.Context = context.WithValue(o.Context, k, v) 26 } 27 } 28 29 // setPublishOption returns a function to setup a context with given value 30 func setPublishOption(k, v interface{}) broker.PublishOption { 31 return func(o *broker.PublishOptions) { 32 if o.Context == nil { 33 o.Context = context.Background() 34 } 35 o.Context = context.WithValue(o.Context, k, v) 36 } 37 }