diff --git a/api/router/options.go b/api/router/options.go index 70cd566e..aec6887e 100644 --- a/api/router/options.go +++ b/api/router/options.go @@ -5,6 +5,7 @@ import ( "github.com/unistack-org/micro/v3/api/resolver" "github.com/unistack-org/micro/v3/api/resolver/vpath" + "github.com/unistack-org/micro/v3/logger" "github.com/unistack-org/micro/v3/registry" ) @@ -12,6 +13,7 @@ type Options struct { Handler string Registry registry.Registry Resolver resolver.Resolver + Logger logger.Logger Context context.Context } diff --git a/client/context.go b/client/context.go index 37d2f34d..01b03a32 100644 --- a/client/context.go +++ b/client/context.go @@ -32,3 +32,13 @@ func SetPublishOption(k, v interface{}) PublishOption { o.Context = context.WithValue(o.Context, k, v) } } + +// SetCallOption returns a function to setup a context with given value +func SetCallOption(k, v interface{}) CallOption { + return func(o *CallOptions) { + if o.Context == nil { + o.Context = context.Background() + } + o.Context = context.WithValue(o.Context, k, v) + } +}