From 31a1ea6faea7c272b00c46414f506d3110067ac7 Mon Sep 17 00:00:00 2001 From: Edward Date: Sun, 5 Apr 2020 18:15:38 +0800 Subject: [PATCH] fix: use registry from opts not use default directly:(#1436) (#1468) web: use passed user registry, or default --- web/options.go | 17 +++++++++++------ web/service.go | 2 +- web/web.go | 2 ++ 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/web/options.go b/web/options.go index c675f4ea..16aa41c5 100644 --- a/web/options.go +++ b/web/options.go @@ -11,6 +11,7 @@ import ( "github.com/micro/go-micro/v2/registry" ) +//Options for web type Options struct { Name string Version string @@ -67,7 +68,9 @@ func newOptions(opts ...Option) Options { for _, o := range opts { o(&opt) } - + if opt.Registry == nil { + opt.Registry = registry.DefaultRegistry + } if opt.RegisterCheck == nil { opt.RegisterCheck = DefaultRegisterCheck } @@ -75,7 +78,7 @@ func newOptions(opts ...Option) Options { return opt } -// Server name +// Name of Web func Name(n string) Option { return func(o *Options) { o.Name = n @@ -92,7 +95,7 @@ func Icon(ico string) Option { } } -// Unique server id +//Id for Unique server id func Id(id string) Option { return func(o *Options) { o.Id = id @@ -120,7 +123,7 @@ func Address(a string) Option { } } -// The address to advertise for discovery - host:port +//Advertise The address to advertise for discovery - host:port func Advertise(a string) Option { return func(o *Options) { o.Advertise = a @@ -143,26 +146,28 @@ func Registry(r registry.Registry) Option { } } -// Register the service with a TTL +//RegisterTTL Register the service with a TTL func RegisterTTL(t time.Duration) Option { return func(o *Options) { o.RegisterTTL = t } } -// Register the service with at interval +//RegisterInterval Register the service with at interval func RegisterInterval(t time.Duration) Option { return func(o *Options) { o.RegisterInterval = t } } +//Handler for custom handler func Handler(h http.Handler) Option { return func(o *Options) { o.Handler = h } } +//Server for custom Server func Server(srv *http.Server) Option { return func(o *Options) { o.Server = srv diff --git a/web/service.go b/web/service.go index 0cd683a4..cff7e113 100644 --- a/web/service.go +++ b/web/service.go @@ -268,7 +268,7 @@ func (s *service) stop() error { func (s *service) Client() *http.Client { rt := mhttp.NewRoundTripper( - mhttp.WithRegistry(registry.DefaultRegistry), + mhttp.WithRegistry(s.opts.Registry), ) return &http.Client{ Transport: rt, diff --git a/web/web.go b/web/web.go index ae3eb7f1..1da83fd3 100644 --- a/web/web.go +++ b/web/web.go @@ -20,8 +20,10 @@ type Service interface { Run() error } +//Option for web type Option func(o *Options) +//Web basic Defaults var ( // For serving DefaultName = "go-web"