|
13 | 13 | * limitations under the License. |
14 | 14 | */ |
15 | 15 |
|
16 | | - var net = require('net'); |
17 | | - var util = require('util'); |
18 | | - var EventEmitter = require('events').EventEmitter; |
19 | | - var tls; |
20 | | - try { |
21 | | - tls = require('tls'); |
22 | | - } catch (e) { |
23 | | - tls = {}; |
24 | | - } |
| 16 | +var net = require('net'); |
| 17 | +var util = require('util'); |
| 18 | +var EventEmitter = require('events').EventEmitter; |
| 19 | +var tls; |
| 20 | +try { |
| 21 | + tls = require('tls'); |
| 22 | +} catch (e) { |
| 23 | + // tls remains undefined; |
| 24 | +} |
25 | 25 |
|
26 | 26 | util.inherits(Websocket, EventEmitter); |
27 | 27 | util.inherits(WebsocketClient, EventEmitter); |
@@ -51,8 +51,7 @@ function WebsocketClient(socket, handle) { |
51 | 51 | return new WebsocketClient(socket, handle); |
52 | 52 | } |
53 | 53 |
|
54 | | - if ((Object.keys(tls).length != 0 && |
55 | | - socket instanceof tls.TLSSocket) || |
| 54 | + if ((tls && (socket instanceof tls.TLSSocket)) || |
56 | 55 | (socket instanceof net.Socket)) { |
57 | 56 | this._socket = socket; |
58 | 57 | this.readyState = 'CONNECTING'; |
@@ -130,26 +129,24 @@ function Server(options, listener) { |
130 | 129 | this._netserver = null; |
131 | 130 |
|
132 | 131 | if (options.server) { |
133 | | - if (Object.keys(tls).length != 0 && options.server instanceof tls.Server) { |
| 132 | + if (tls && (options.server instanceof tls.Server)) { |
134 | 133 | this._netserver = options.server; |
135 | 134 | emit_type = 'secureConnection'; |
136 | 135 | } else if (options.server instanceof net.Server) { |
137 | 136 | this._netserver = options.server; |
138 | 137 | } |
139 | 138 | } else if (options.port) { |
140 | 139 | if (options.secure == true) { |
141 | | - if (Object.keys(tls).length == 0) { |
| 140 | + if (!tls) { |
142 | 141 | throw new Error('TLS module is required to create a secure server.'); |
143 | 142 | } |
144 | 143 | this._netserver = tls.createServer(options); |
145 | | - this._netserver.on('error', this.onError); |
146 | | - this._netserver.listen(options.port); |
147 | 144 | emit_type = 'secureConnection'; |
148 | 145 | } else { |
149 | 146 | this._netserver = net.createServer(options); |
150 | | - this._netserver.on('error', this.onError); |
151 | | - this._netserver.listen(options.port); |
152 | 147 | } |
| 148 | + |
| 149 | + this._netserver.listen(options.port); |
153 | 150 | } else { |
154 | 151 | throw new Error('One of port or server must be provided as option'); |
155 | 152 | } |
@@ -369,7 +366,7 @@ Websocket.prototype.connect = function(url, port, path, callback) { |
369 | 366 |
|
370 | 367 | if (host.substr(0, 3) == 'wss') { |
371 | 368 | this._secure = true; |
372 | | - if (Object.keys(tls).length == 0) { |
| 369 | + if (!tls) { |
373 | 370 | this._handle.onError('TLS module was not found!'); |
374 | 371 | } |
375 | 372 | port = port || 443; |
|
0 commit comments