@@ -129,7 +129,7 @@ const readMessage = (provider, buf, emitSynced) => {
129
129
*/
130
130
const setupWS = ( provider ) => {
131
131
if ( provider . shouldConnect && provider . ws === null ) {
132
- const websocket = new provider . _WS ( provider . url )
132
+ const websocket = new provider . _WS ( provider . url , provider . protocols )
133
133
websocket . binaryType = 'arraybuffer'
134
134
provider . ws = websocket
135
135
provider . wsconnecting = true
@@ -246,6 +246,7 @@ export class WebsocketProvider extends Observable {
246
246
* @param {boolean } [opts.connect]
247
247
* @param {awarenessProtocol.Awareness } [opts.awareness]
248
248
* @param {Object<string,string> } [opts.params] specify url parameters
249
+ * @param {Array<string> } [opts.protocols] specify websocket protocols
249
250
* @param {typeof WebSocket } [opts.WebSocketPolyfill] Optionall provide a WebSocket polyfill
250
251
* @param {number } [opts.resyncInterval] Request server state every `resyncInterval` milliseconds
251
252
* @param {number } [opts.maxBackoffTime] Maximum amount of time to wait before trying to reconnect (we try to reconnect using exponential backoff)
@@ -255,6 +256,7 @@ export class WebsocketProvider extends Observable {
255
256
connect = true ,
256
257
awareness = new awarenessProtocol . Awareness ( doc ) ,
257
258
params = { } ,
259
+ protocols = [ ] ,
258
260
WebSocketPolyfill = WebSocket ,
259
261
resyncInterval = - 1 ,
260
262
maxBackoffTime = 2500 ,
@@ -274,6 +276,7 @@ export class WebsocketProvider extends Observable {
274
276
* @type {Object<string,string> }
275
277
*/
276
278
this . params = params
279
+ this . protocols = protocols
277
280
this . roomname = roomname
278
281
this . doc = doc
279
282
this . _WS = WebSocketPolyfill
0 commit comments