From cf7765868a4dfa32d17cfb2346dea691a4446179 Mon Sep 17 00:00:00 2001 From: Dan Markhasin Date: Thu, 30 Jul 2020 12:30:31 +0300 Subject: [PATCH] fallback to Node.Address (#21) Service.Address may not always exist, in which case it is safe to fallback to Node.Address --- consul.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/consul.go b/consul.go index b36e4bc..e82ace0 100644 --- a/consul.go +++ b/consul.go @@ -76,8 +76,13 @@ func watchConsulService(ctx context.Context, s servicer, tgt target, out chan<- ee := make([]string, 0, len(ss)) for _, s := range ss { - ee = append(ee, fmt.Sprintf("%s:%d", s.Service.Address, s.Service.Port)) + address := s.Service.Address + if s.Service.Address == "" { + address = s.Node.Address + } + ee = append(ee, fmt.Sprintf("%s:%d", address, s.Service.Port)) } + if tgt.Limit != 0 && len(ee) > tgt.Limit { ee = ee[:tgt.Limit] }