1
0
mirror of https://github.com/go-micro/go-micro.git synced 2025-06-12 22:07:47 +02:00

add advertising option

This commit is contained in:
Asim
2015-11-11 18:22:04 +00:00
parent ec1601e2b3
commit 2041591033
3 changed files with 40 additions and 4 deletions

View File

@ -114,10 +114,19 @@ func (s *rpcServer) Subscribe(sb Subscriber) error {
func (s *rpcServer) Register() error {
// parse address for host, port
config := s.Config()
var host string
var advt, host string
var port int
parts := strings.Split(config.Address(), ":")
// check the advertise address first
// if it exists then use it, otherwise
// use the address
if len(config.Advertise()) > 0 {
advt = config.Advertise()
} else {
advt = config.Address()
}
parts := strings.Split(advt, ":")
if len(parts) > 1 {
host = strings.Join(parts[:len(parts)-1], ":")
port, _ = strconv.Atoi(parts[len(parts)-1])
@ -177,9 +186,19 @@ func (s *rpcServer) Register() error {
func (s *rpcServer) Deregister() error {
config := s.Config()
var host string
var advt, host string
var port int
parts := strings.Split(config.Address(), ":")
// check the advertise address first
// if it exists then use it, otherwise
// use the address
if len(config.Advertise()) > 0 {
advt = config.Advertise()
} else {
advt = config.Address()
}
parts := strings.Split(advt, ":")
if len(parts) > 1 {
host = strings.Join(parts[:len(parts)-1], ":")
port, _ = strconv.Atoi(parts[len(parts)-1])