rpc/client: handle client creation error in new wsclient

Client returns error if it can't parse endpoint string. WSClient
should check client error or there could be panic at `cl.cli = nil`
expression.
This commit is contained in:
alexvanin 2020-05-18 16:23:51 +03:00 committed by Roman Khimov
parent 29e66925aa
commit aca6f2f3ad
2 changed files with 19 additions and 0 deletions

View file

@ -71,6 +71,10 @@ const (
// connection). You need to use websocket URL for it like `ws://1.2.3.4/ws`.
func NewWS(ctx context.Context, endpoint string, opts Options) (*WSClient, error) {
cl, err := New(ctx, endpoint, opts)
if err != nil {
return nil, err
}
cl.cli = nil
dialer := websocket.Dialer{HandshakeTimeout: opts.DialTimeout}