diff --git a/ethstats/ethstats.go b/ethstats/ethstats.go index 9d494b615d..10f611c795 100644 --- a/ethstats/ethstats.go +++ b/ethstats/ethstats.go @@ -23,10 +23,10 @@ import ( "fmt" "math/big" "net" - "net/url" "regexp" "runtime" "strconv" + "strings" "time" "github.com/ethereum/go-ethereum/common" @@ -128,7 +128,7 @@ func (s *Service) loop() { path := fmt.Sprintf("%s/api", s.host) urls := []string{path} - if parsed, err := url.Parse(path); err == nil && !parsed.IsAbs() { + if !strings.Contains(path, "://") { // url.Parse and url.IsAbs is unsuitable (https://github.com/golang/go/issues/19779) urls = []string{"wss://" + path, "ws://" + path} } // Establish a websocket connection to the server on any supported URL