From fb593321d10be4daf6de7ef7991eba6c2d741d6c Mon Sep 17 00:00:00 2001 From: scott <scottwangsxll@gmail.com> Date: Sun, 15 Mar 2020 23:08:18 +0800 Subject: [PATCH] Fix missing protocol scheme bug --- registry/etcdv3/listener.go | 7 ++++++- registry/kubernetes/listener.go | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/registry/etcdv3/listener.go b/registry/etcdv3/listener.go index da6a46b15..2f2172d5f 100644 --- a/registry/etcdv3/listener.go +++ b/registry/etcdv3/listener.go @@ -49,7 +49,12 @@ func (l *dataListener) AddInterestedURL(url *common.URL) { func (l *dataListener) DataChange(eventType remoting.Event) bool { - url := eventType.Path[strings.Index(eventType.Path, "/providers/")+len("/providers/"):] + index := strings.Index(eventType.Path, "/providers/") + if index == -1 { + logger.Warnf("Listen with no url, event.path={%v}", eventType.Path) + return false + } + url := eventType.Path[index+len("/providers/"):] serviceURL, err := common.NewURL(url) if err != nil { logger.Warnf("Listen NewURL(r{%s}) = error{%v}", eventType.Path, err) diff --git a/registry/kubernetes/listener.go b/registry/kubernetes/listener.go index b1593e6fc..6527eebbb 100644 --- a/registry/kubernetes/listener.go +++ b/registry/kubernetes/listener.go @@ -53,7 +53,12 @@ func (l *dataListener) AddInterestedURL(url *common.URL) { // notify listen, when interest event func (l *dataListener) DataChange(eventType remoting.Event) bool { - url := eventType.Path[strings.Index(eventType.Path, "/providers/")+len("/providers/"):] + index := strings.Index(eventType.Path, "/providers/") + if index == -1 { + logger.Warnf("Listen with no url, event.path={%v}", eventType.Path) + return false + } + url := eventType.Path[index+len("/providers/"):] serviceURL, err := common.NewURL(url) if err != nil { logger.Warnf("Listen NewURL(r{%s}) = error{%v}", eventType.Path, err) -- GitLab