diff --git a/client/context.go b/client/context.go index 4cb496f0..0a9d0e5c 100644 --- a/client/context.go +++ b/client/context.go @@ -14,3 +14,13 @@ func FromContext(ctx context.Context) (Client, bool) { func NewContext(ctx context.Context, c Client) context.Context { return context.WithValue(ctx, clientKey{}, c) } + +// SetPublishOption returns a function to setup a context with given value +func SetPublishOption(k, v interface{}) PublishOption { + return func(o *PublishOptions) { + if o.Context == nil { + o.Context = context.Background() + } + o.Context = context.WithValue(o.Context, k, v) + } +}