diff --git a/v2/delivery/websocket.go b/v2/delivery/websocket.go index 6d0f1f0b8..4900ecb62 100644 --- a/v2/delivery/websocket.go +++ b/v2/delivery/websocket.go @@ -18,12 +18,14 @@ type ErrHandler func(err error) type WsConfig struct { Endpoint string Proxy *string + Header http.Header } func newWsConfig(endpoint string) *WsConfig { return &WsConfig{ Endpoint: endpoint, Proxy: getWsProxyUrl(), + Header: Header, } } @@ -42,7 +44,7 @@ var wsServe = func(cfg *WsConfig, handler WsHandler, errHandler ErrHandler) (don EnableCompression: true, } - c, _, err := Dialer.Dial(cfg.Endpoint, nil) + c, _, err := Dialer.Dial(cfg.Endpoint, cfg.Header) if err != nil { return nil, nil, err } diff --git a/v2/delivery/websocket_service.go b/v2/delivery/websocket_service.go index 904adc09c..5b812e66e 100644 --- a/v2/delivery/websocket_service.go +++ b/v2/delivery/websocket_service.go @@ -4,6 +4,7 @@ import ( "encoding/json" "errors" "fmt" + "net/http" "strconv" "strings" "time" @@ -25,6 +26,7 @@ var ( // UseTestnet switch all the WS streams from production to the testnet UseTestnet = false ProxyUrl = "" + Header = make(http.Header) ) // getWsEndpoint return the base endpoint of the WS according the UseTestnet flag diff --git a/v2/futures/websocket.go b/v2/futures/websocket.go index 7d54b7404..2fe35e320 100644 --- a/v2/futures/websocket.go +++ b/v2/futures/websocket.go @@ -18,12 +18,14 @@ type ErrHandler func(err error) type WsConfig struct { Endpoint string Proxy *string + Header http.Header } func newWsConfig(endpoint string) *WsConfig { return &WsConfig{ Endpoint: endpoint, Proxy: getWsProxyUrl(), + Header: Header, } } @@ -42,7 +44,7 @@ var wsServe = func(cfg *WsConfig, handler WsHandler, errHandler ErrHandler) (don EnableCompression: true, } - c, _, err := Dialer.Dial(cfg.Endpoint, nil) + c, _, err := Dialer.Dial(cfg.Endpoint, cfg.Header) if err != nil { return nil, nil, err } @@ -132,7 +134,7 @@ var WsGetReadWriteConnection = func(cfg *WsConfig) (*websocket.Conn, error) { EnableCompression: false, } - c, _, err := Dialer.Dial(cfg.Endpoint, nil) + c, _, err := Dialer.Dial(cfg.Endpoint, cfg.Header) if err != nil { return nil, err } diff --git a/v2/futures/websocket_service.go b/v2/futures/websocket_service.go index 61266e661..153e32a23 100644 --- a/v2/futures/websocket_service.go +++ b/v2/futures/websocket_service.go @@ -4,6 +4,7 @@ import ( "encoding/json" "errors" "fmt" + "net/http" "strings" "time" @@ -34,6 +35,7 @@ var ( // using for websocket API (read/write) WebsocketTimeoutReadWriteConnection = time.Second * 10 ProxyUrl = "" + Header = make(http.Header) ) func getWsProxyUrl() *string { diff --git a/v2/options/websocket.go b/v2/options/websocket.go index 6d3d4d54c..938de92cf 100644 --- a/v2/options/websocket.go +++ b/v2/options/websocket.go @@ -18,12 +18,14 @@ type ErrHandler func(err error) type WsConfig struct { Endpoint string Proxy *string + Header http.Header } func newWsConfig(endpoint string) *WsConfig { return &WsConfig{ Endpoint: endpoint, Proxy: getWsProxyUrl(), + Header: Header, } } diff --git a/v2/options/websocket_service.go b/v2/options/websocket_service.go index e95ad5d49..fd9173ef5 100644 --- a/v2/options/websocket_service.go +++ b/v2/options/websocket_service.go @@ -4,6 +4,7 @@ import ( "encoding/json" "errors" "fmt" + "net/http" "strings" "time" ) @@ -27,6 +28,7 @@ var ( UseTestnet = false ProxyUrl = "" + Header = make(http.Header) ) // getWsEndpoint return the base endpoint of the WS according the UseTestnet flag diff --git a/v2/portfolio/websocket.go b/v2/portfolio/websocket.go index 4e79afe1f..f2d3f975c 100644 --- a/v2/portfolio/websocket.go +++ b/v2/portfolio/websocket.go @@ -18,12 +18,14 @@ type ErrHandler func(err error) type WsConfig struct { Endpoint string Proxy *string + Header http.Header } func newWsConfig(endpoint string) *WsConfig { return &WsConfig{ Endpoint: endpoint, Proxy: getWsProxyUrl(), + Header: Header, } } diff --git a/v2/portfolio/websocket_service.go b/v2/portfolio/websocket_service.go index eb840c7b4..63164b85d 100644 --- a/v2/portfolio/websocket_service.go +++ b/v2/portfolio/websocket_service.go @@ -3,6 +3,7 @@ package portfolio import ( "encoding/json" "fmt" + "net/http" "time" "github.com/bitly/go-simplejson" @@ -24,6 +25,7 @@ var ( // using for websocket API (read/write) WebsocketTimeoutReadWriteConnection = time.Second * 10 ProxyUrl = "" + Header = make(http.Header) ) func getWsProxyUrl() *string { diff --git a/v2/websocket.go b/v2/websocket.go index 864443787..23f21a788 100644 --- a/v2/websocket.go +++ b/v2/websocket.go @@ -18,12 +18,14 @@ type ErrHandler func(err error) type WsConfig struct { Endpoint string Proxy *string + Header http.Header } func newWsConfig(endpoint string) *WsConfig { return &WsConfig{ Endpoint: endpoint, Proxy: getWsProxyUrl(), + Header: Header, } } @@ -42,7 +44,7 @@ var wsServe = func(cfg *WsConfig, handler WsHandler, errHandler ErrHandler) (don EnableCompression: true, } - c, _, err := Dialer.Dial(cfg.Endpoint, nil) + c, _, err := Dialer.Dial(cfg.Endpoint, cfg.Header) if err != nil { return nil, nil, err } @@ -136,7 +138,7 @@ var WsGetReadWriteConnection = func(cfg *WsConfig) (*websocket.Conn, error) { EnableCompression: false, } - c, _, err := Dialer.Dial(cfg.Endpoint, nil) + c, _, err := Dialer.Dial(cfg.Endpoint, cfg.Header) if err != nil { return nil, err } diff --git a/v2/websocket_service.go b/v2/websocket_service.go index f0f203e05..872c42982 100644 --- a/v2/websocket_service.go +++ b/v2/websocket_service.go @@ -3,6 +3,7 @@ package binance import ( "encoding/json" "fmt" + "net/http" "strings" "time" @@ -28,6 +29,7 @@ var ( // using for websocket API (read/write) WebsocketTimeoutReadWriteConnection = time.Second * 10 ProxyUrl = "" + Header = make(http.Header) ) func getWsProxyUrl() *string {