package grpc import ( "context" "crypto/tls" "github.com/asim/go-micro/v3/config/source" ) type addressKey struct{} type pathKey struct{} // WithAddress sets the consul address func WithAddress(a string) source.Option { return func(o *source.Options) { if o.Context == nil { o.Context = context.Background() } o.Context = context.WithValue(o.Context, addressKey{}, a) } } // WithPath sets the key prefix to use func WithPath(p string) source.Option { return func(o *source.Options) { if o.Context == nil { o.Context = context.Background() } o.Context = context.WithValue(o.Context, pathKey{}, p) } } // WithTLS sets the TLS config for the service func WithTLS(t *tls.Config) source.Option { return func(o *source.Options) { if o.Context == nil { o.Context = context.Background() } o.Context = context.WithValue(o.Context, tls.Config{}, t) } }