Skip to content

Commit

Permalink
implemented WebSocket polyfill - implements #17
Browse files Browse the repository at this point in the history
  • Loading branch information
dmonad committed Jul 10, 2020
1 parent f6943f3 commit dedc7f5
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions src/y-websocket.js
Expand Up @@ -78,7 +78,7 @@ const readMessage = (provider, buf, emitSynced) => {
*/
const setupWS = provider => {
if (provider.shouldConnect && provider.ws === null) {
const websocket = new WebSocket(provider.url)
const websocket = new provider._WS(provider.url)
websocket.binaryType = 'arraybuffer'
provider.ws = websocket
provider.wsconnecting = true
Expand Down Expand Up @@ -169,9 +169,13 @@ export class WebsocketProvider extends Observable {
* @param {string} serverUrl
* @param {string} roomname
* @param {Y.Doc} doc
* @param {{connect:boolean,awareness:awarenessProtocol.Awareness,db:any|null,params:Object<string,string>}} conf
* @param {object} [opts]
* @param {boolean} [opts.connect]
* @param {awarenessProtocol.Awareness} [opts.awareness]
* @param {Object<string,string>} [opts.params]
* @param {typeof WebSocket} [opts.WebSocketPolyfill] Optionall provide a WebSocket polyfill
*/
constructor (serverUrl, roomname, doc, { connect = true, awareness = new awarenessProtocol.Awareness(doc), db = null, params = {} } = /** @type {any} */ ({})) {
constructor (serverUrl, roomname, doc, { connect = true, awareness = new awarenessProtocol.Awareness(doc), params = {}, WebSocketPolyfill = WebSocket } = {}) {
super()
// ensure that url is always ends with /
while (serverUrl[serverUrl.length - 1] === '/') {
Expand All @@ -182,11 +186,11 @@ export class WebsocketProvider extends Observable {
this.url = serverUrl + '/' + roomname + (encodedParams.length === 0 ? '' : '?' + encodedParams)
this.roomname = roomname
this.doc = doc
this._WS = WebSocketPolyfill
/**
* @type {Object<string,Object>}
*/
this._localAwarenessState = {}
this.db = db
this.awareness = awareness
this.wsconnected = false
this.wsconnecting = false
Expand Down

0 comments on commit dedc7f5

Please sign in to comment.