src/client/protocol/ws-browser.js
const WsClientProtocol = require("./ws");
/**
* Creates an instance of WsBrowserClientProtocol
*
* @extends WsClientProtocol
*/
class WsBrowserClientProtocol extends WsClientProtocol {
/**
* Set the `connector` attribute for the protocol instance. The connector is essentially the
* socket instance for the client.
*
* For the [WsBrowserClientProtocol]{@link WsBrowserClientProtocol} this is `window.WebSocket()`
*/
setConnector() {
const { protocols } = this.factory.options;
this.connector = new window.WebSocket(this.url, protocols);
this.connector.write = this.connector.send; // tcp uses .write(), ws uses .send()
}
/** @inheritdoc */
gotNotification(message) {
this.factory.dispatchEvent(
new CustomEvent(message.method, { detail: message })
);
}
}
module.exports = WsBrowserClientProtocol;