diff --git a/websocketconnection.go b/websocketconnection.go index 2c6ee59..ac78e37 100644 --- a/websocketconnection.go +++ b/websocketconnection.go @@ -4,10 +4,20 @@ import ( "bytes" "context" "fmt" - + "net/http" + "net/url" "nhooyr.io/websocket" ) +func NewWebSocketConnection(ctx context.Context, reqURL *url.URL, connectionID string, headers http.Header) (Connection, error) { + ws, _, err := websocket.Dial(ctx, reqURL.String(), &websocket.DialOptions{HTTPHeader: headers}) + if err != nil { + return nil, err + } + + return newWebSocketConnection(ctx, connectionID, ws), nil +} + type webSocketConnection struct { ConnectionBase conn *websocket.Conn