diff --git a/network/default.go b/network/default.go index d384a5f4..13876e57 100644 --- a/network/default.go +++ b/network/default.go @@ -2,6 +2,8 @@ package network import ( "github.com/micro/go-micro/client" + "github.com/micro/go-micro/network/proxy/mucp" + "github.com/micro/go-micro/network/router" "github.com/micro/go-micro/server" ) @@ -28,6 +30,8 @@ func NewNetwork(opts ...Option) Network { Name: DefaultName, Client: client.DefaultClient, Server: server.DefaultServer, + Proxy: mucp.NewProxy(), + Router: router.DefaultRouter, } for _, o := range opts { @@ -37,6 +41,7 @@ func NewNetwork(opts ...Option) Network { // set the server name options.Server.Init( server.Name(options.Name), + server.WithRouter(options.Proxy), ) return &network{ diff --git a/network/options.go b/network/options.go index 9dcbb1ed..2a211ea5 100644 --- a/network/options.go +++ b/network/options.go @@ -2,6 +2,8 @@ package network import ( "github.com/micro/go-micro/client" + "github.com/micro/go-micro/network/proxy" + "github.com/micro/go-micro/network/router" "github.com/micro/go-micro/server" ) @@ -11,6 +13,8 @@ type Options struct { Name string Client client.Client Server server.Server + Proxy proxy.Proxy + Router router.Router } // The network name @@ -33,3 +37,19 @@ func Server(s server.Server) Option { o.Server = s } } + +// The proxy to use +func Proxy(p proxy.Proxy) Option { + return func(o *Options) { + o.Proxy = p + } + +} + +// The router to use +func Router(r router.Router) Option { + return func(o *Options) { + o.Router = r + } + +}