|
|
@@ -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
|