Skip to content

Commit

Permalink
Revert "[minor] Throw an error on invalid usage"
Browse files Browse the repository at this point in the history
This reverts commit 3641266.
  • Loading branch information
lpinca committed Apr 22, 2020
1 parent c56d4ec commit 06d8660
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 35 deletions.
11 changes: 0 additions & 11 deletions lib/websocket-server.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ const { format, parse } = require('./extension');
const { GUID } = require('./constants');

const keyRegex = /^[+/0-9A-Za-z]{22}==$/;
const kUsedByWebSocketServer = Symbol('kUsedByWebSocketServer');

/**
* Class representing a WebSocket server.
Expand Down Expand Up @@ -83,14 +82,6 @@ class WebSocketServer extends EventEmitter {
}

if (this._server) {
if (this._server[kUsedByWebSocketServer]) {
throw new Error(
'The HTTP/S server is already being used by another WebSocket server'
);
} else {
this._server[kUsedByWebSocketServer] = true;
}

this._removeListeners = addListeners(this._server, {
listening: this.emit.bind(this, 'listening'),
error: this.emit.bind(this, 'error'),
Expand Down Expand Up @@ -144,8 +135,6 @@ class WebSocketServer extends EventEmitter {
const server = this._server;

if (server) {
server[kUsedByWebSocketServer] = false;

this._removeListeners();
this._removeListeners = this._server = null;

Expand Down
31 changes: 7 additions & 24 deletions test/websocket-server.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,11 @@ describe('WebSocketServer', () => {
assert.throws(() => new WebSocket.Server());
});

describe('options', () => {
it('throws an error if no `port` or `server` option is specified', () => {
assert.throws(() => new WebSocket.Server({}));
});

it('throws an error if the server is already being used', () => {
const server = http.createServer();

new WebSocket.Server({ server });

assert.throws(
() => new WebSocket.Server({ server }),
/^Error: The HTTP\/S server is already being used by another WebSocket server$/
);
});
it('throws an error if no port or server is specified', () => {
assert.throws(() => new WebSocket.Server({}));
});

describe('options', () => {
it('exposes options passed to constructor', (done) => {
const wss = new WebSocket.Server({ port: 0 }, () => {
assert.strictEqual(wss.options.port, 0);
Expand Down Expand Up @@ -237,21 +226,15 @@ describe('WebSocketServer', () => {

it('cleans event handlers on precreated server', (done) => {
const server = http.createServer();
const wss1 = new WebSocket.Server({ server });
const wss = new WebSocket.Server({ server });

server.listen(0, () => {
wss1.close(() => {
wss.close(() => {
assert.strictEqual(server.listenerCount('listening'), 0);
assert.strictEqual(server.listenerCount('upgrade'), 0);
assert.strictEqual(server.listenerCount('error'), 0);

// Check that no error is thrown if `server` is resued now as there
// are no other `WebSocketServer`s using it.
const wss2 = new WebSocket.Server({ server });

wss2.close(() => {
server.close(done);
});
server.close(done);
});
});
});
Expand Down

0 comments on commit 06d8660

Please sign in to comment.