1
0
mirror of https://github.com/go-micro/go-micro.git synced 2025-01-29 18:04:17 +02:00
2021-01-20 21:01:10 +00:00

31 lines
672 B
Go

package multi
import (
"context"
"github.com/asim/go-micro/v3/registry"
)
type writeKey struct{}
type readKey struct{}
// helper for setting registry options
func setRegistryOption(k, v interface{}) registry.Option {
return func(o *registry.Options) {
if o.Context == nil {
o.Context = context.Background()
}
o.Context = context.WithValue(o.Context, k, v)
}
}
// WriteRegistry add underlining registries
func WriteRegistry(w ...registry.Registry) registry.Option {
return setRegistryOption(writeKey{}, w)
}
// ReadRegistry add underlining registries
func ReadRegistry(r ...registry.Registry) registry.Option {
return setRegistryOption(readKey{}, r)
}