diff --git a/lib/server.js b/lib/server.js index 9bea262..0e5d087 100644 --- a/lib/server.js +++ b/lib/server.js @@ -21,8 +21,6 @@ function PeerServer(options) { util.debug = this._options.debug; - // Set up HTTPS server if key and certificate are provided. - var secure = this._options.ssl.key && this._options.ssl.certificate; // Print warning if only one of the two is given. if (Object.keys(this._options.ssl).length === 1) { util.prettyError('Warning: PeerServer will not run on an HTTPS server' @@ -49,7 +47,7 @@ function PeerServer(options) { this._ips = {}; this._setCleanupIntervals(); -}; +} util.inherits(PeerServer, EventEmitter); @@ -126,35 +124,22 @@ PeerServer.prototype._configureWS = function(socket, key, id, token) { try { var message = JSON.parse(data); - switch (message.type) { - case 'LEAVE': - // Clean up if a Peer sends a LEAVE. - if (!message.dst) { - self._removePeer(key, id); - break; - } - // ICE candidates - case 'CANDIDATE': - // Offer or answer between peers. - case 'OFFER': - case 'ANSWER': - // Use the ID we know to be correct to prevent spoofing. - self._handleTransmission(key, { - type: message.type, - src: id, - dst: message.dst, - payload: message.payload - }); - break; - default: - util.prettyError('Message unrecognized'); + if (['LEAVE', 'CANDIDATE', 'OFFER', 'ANSWER'].indexOf(message.type) !== -1) { + self._handleTransmission(key, { + type: message.type, + src: id, + dst: message.dst, + payload: message.payload + }); + } else { + util.prettyError('Message unrecognized'); } } catch(e) { - throw e; util.log('Invalid message', data); + throw e; } }); -} +}; PeerServer.prototype._checkKey = function(key, ip, cb) { @@ -181,14 +166,14 @@ PeerServer.prototype._checkKey = function(key, ip, cb) { } else { cb('Invalid key provided'); } -} +}; /** Initialize HTTP server routes. */ PeerServer.prototype._initializeHTTP = function() { var self = this; this._app.use(restify.bodyParser({ mapParams: false })); - this._app.use(restify.queryParser()) + this._app.use(restify.queryParser()); this._app.use(util.allowCrossDomain); // Retrieve guaranteed random ID. @@ -332,7 +317,7 @@ PeerServer.prototype._setCleanupIntervals = function() { var keys = Object.keys(self._ips); for (var i = 0, ii = keys.length; i < ii; i += 1) { var key = keys[i]; - if (self._ips[key] == 0) { + if (self._ips[key] === 0) { delete self._ips[key]; } } @@ -383,7 +368,7 @@ PeerServer.prototype._handleTransmission = function(key, message) { destination.res.write(data); } else { // Neither socket no res available. Peer dead? - throw "Peer dead" + throw "Peer dead"; } } catch (e) { // This happens when a peer disconnects without closing connections and diff --git a/lib/util.js b/lib/util.js index fbd7ab6..8a81cf1 100644 --- a/lib/util.js +++ b/lib/util.js @@ -13,7 +13,7 @@ var util = { }); }, extend: function(dest, source) { - source = source || {} + source = source || {}; for(var key in source) { if(source.hasOwnProperty(key)) { dest[key] = source[key];