|
12345678910111213141516171819202122232425262728293031323334353637383940414243 |
-
- /**
- * Module dependencies.
- */
-
- var global = (function() { return this; })();
-
- /**
- * WebSocket constructor.
- */
-
- var WebSocket = global.WebSocket || global.MozWebSocket;
-
- /**
- * Module exports.
- */
-
- module.exports = WebSocket ? ws : null;
-
- /**
- * WebSocket constructor.
- *
- * The third `opts` options object gets ignored in web browsers, since it's
- * non-standard, and throws a TypeError if passed to the constructor.
- * See: https://github.com/einaros/ws/issues/227
- *
- * @param {String} uri
- * @param {Array} protocols (optional)
- * @param {Object) opts (optional)
- * @api public
- */
-
- function ws(uri, protocols, opts) {
- var instance;
- if (protocols) {
- instance = new WebSocket(uri, protocols);
- } else {
- instance = new WebSocket(uri);
- }
- return instance;
- }
-
- if (WebSocket) ws.prototype = WebSocket.prototype;
|