node-multi-socketservers
Advanced tools
Comparing version 0.2.1 to 0.2.2
160
lib/main.js
@@ -11,18 +11,43 @@ "use strict"; | ||
constructor() { | ||
super(); | ||
this._tmpOnConnection = []; | ||
} | ||
listen(requestListener) { | ||
this.servers.forEach((server, i) => { | ||
this.servers[i].sockets = null; | ||
}); | ||
if (this.listening()) { | ||
return Promise.resolve(); | ||
} | ||
else { | ||
return super.listen(requestListener).then(() => { | ||
this.servers.forEach((server, i) => { | ||
this.servers[i].sockets = io(server.server); | ||
this.servers[i].sockets = null; | ||
}); | ||
return Promise.resolve(); | ||
return super.listen(requestListener).then(() => { | ||
}); | ||
this.servers.forEach((server, i) => { | ||
this.servers[i].sockets = io(server.server); | ||
}); | ||
if (0 < this._tmpOnConnection.length) { | ||
this._tmpOnConnection.forEach((tmpOnConnection) => { | ||
this.connection(tmpOnConnection); | ||
}); | ||
this._tmpOnConnection = []; | ||
} | ||
return Promise.resolve(); | ||
}); | ||
} | ||
} | ||
@@ -40,8 +65,19 @@ | ||
this.servers.forEach((server) => { | ||
return new Promise((resolve) => { | ||
if (server.sockets) { | ||
if (!this.listening()) { | ||
this._tmpOnConnection.push(eventListener); | ||
} | ||
else { | ||
server.sockets.on("connection", (socket) => { | ||
eventListener(socket, server); | ||
this.servers.forEach((server) => { | ||
if (server.sockets) { | ||
server.sockets.on("connection", (socket) => { | ||
eventListener(socket, server); | ||
}); | ||
} | ||
}); | ||
@@ -51,6 +87,6 @@ | ||
resolve(); | ||
}); | ||
return Promise.resolve(); | ||
} | ||
@@ -70,19 +106,23 @@ | ||
this.servers.forEach((server) => { | ||
return new Promise((resolve) => { | ||
this.servers.forEach((server) => { | ||
if (server.sockets) { | ||
if (server.sockets) { | ||
if (data) { | ||
server.sockets.emit(eventName, data); | ||
if (data) { | ||
server.sockets.emit(eventName, data); | ||
} | ||
else { | ||
server.sockets.emit(eventName); | ||
} | ||
} | ||
else { | ||
server.sockets.emit(eventName); | ||
} | ||
} | ||
}); | ||
resolve(); | ||
}); | ||
return Promise.resolve(); | ||
} | ||
@@ -114,33 +154,37 @@ | ||
this.servers.forEach((_server) => { | ||
return new Promise((resolve) => { | ||
this.servers.forEach((_server) => { | ||
if (_server.sockets) { | ||
if (_server.sockets) { | ||
if (_server.options.port !== server.options.port) { | ||
if (_server.options.port !== server.options.port) { | ||
if (data) { | ||
_server.sockets.emit(eventName, data); | ||
if (data) { | ||
_server.sockets.emit(eventName, data); | ||
} | ||
else { | ||
_server.sockets.emit(eventName); | ||
} | ||
} | ||
else { | ||
_server.sockets.emit(eventName); | ||
} | ||
} | ||
else { | ||
if (data) { | ||
socket.broadcast.emit(eventName, data); | ||
} | ||
else { | ||
socket.broadcast.emit(eventName); | ||
} | ||
if (data) { | ||
socket.broadcast.emit(eventName, data); | ||
} | ||
else { | ||
socket.broadcast.emit(eventName); | ||
} | ||
} | ||
} | ||
}); | ||
resolve(); | ||
}); | ||
return Promise.resolve(); | ||
} | ||
@@ -160,20 +204,24 @@ | ||
if (!(eventNames instanceof Array)) { | ||
eventNames = [eventNames]; | ||
} | ||
return new Promise((resolve) => { | ||
if (!(eventNames instanceof Array)) { | ||
eventNames = [eventNames]; | ||
} | ||
this.servers.forEach((server) => { | ||
this.servers.forEach((server) => { | ||
if (server.sockets && server.sockets.sockets) { | ||
if (server.sockets && server.sockets.sockets) { | ||
eventNames.forEach((eventName) => { | ||
server.sockets.sockets.removeAllListeners(eventName); | ||
}); | ||
eventNames.forEach((eventName) => { | ||
server.sockets.sockets.removeAllListeners(eventName); | ||
}); | ||
} | ||
} | ||
}); | ||
}); | ||
return Promise.resolve(); | ||
resolve(); | ||
}); | ||
} | ||
@@ -232,2 +280,10 @@ | ||
release() { | ||
this._tmpOnConnection = []; | ||
return super.release(); | ||
} | ||
}; |
{ | ||
"name": "node-multi-socketservers", | ||
"version": "0.2.1", | ||
"version": "0.2.2", | ||
"description": "A multi http & socket servers manager, based on node-multi-webserver", | ||
@@ -23,3 +23,3 @@ "main": "lib/main.js", | ||
"dependencies": { | ||
"node-multi-webserver": "^1.2.2", | ||
"node-multi-webserver": "^1.2.4", | ||
"socket.io": "^1.4.8" | ||
@@ -26,0 +26,0 @@ }, |
@@ -207,35 +207,76 @@ "use strict"; | ||
before(() => { return servers.release(); }); | ||
after(() => { return servers.release(); }); | ||
describe("reverted", () => { | ||
it("should connect & disconnect on created servers", (done) => { | ||
before(() => { return servers.release(); }); | ||
after(() => { return servers.release(); }); | ||
servers.addServer({ | ||
port: 1337, | ||
name: "basic http server" | ||
}).then(() => { | ||
it("should connect & disconnect on created servers", (done) => { | ||
return servers.addServer({ | ||
port: 1338, | ||
name: "basic http server 2" | ||
servers.addServer({ | ||
port: 1337, | ||
name: "basic http server" | ||
}).then(() => { | ||
return servers.addServer({ | ||
port: 1338, | ||
name: "basic http server 2" | ||
}); | ||
}).then(() => { | ||
let socket = ioClient("http://localhost:1337"); | ||
socket.on("disconnect", () => { | ||
done(); | ||
}).on("connect", () => { | ||
socket.disconnect(); | ||
}); | ||
return Promise.resolve(); | ||
}).then(() => { | ||
return servers.listen(() => {}); | ||
}); | ||
}).then(() => { | ||
return servers.listen(() => {}); | ||
}).then(() => { | ||
}).timeout(1000); | ||
let socket = ioClient("http://localhost:1337"); | ||
}); | ||
socket.on("disconnect", () => { | ||
done(); | ||
}).on("connect", () => { | ||
socket.disconnect(); | ||
describe("classical", () => { | ||
before(() => { return servers.release(); }); | ||
after(() => { return servers.release(); }); | ||
it("should connect & disconnect on created servers", (done) => { | ||
servers.addServer({ | ||
port: 1337, | ||
name: "basic http server" | ||
}).then(() => { | ||
return servers.addServer({ | ||
port: 1338, | ||
name: "basic http server 2" | ||
}); | ||
}).then(() => { | ||
return servers.listen(() => {}); | ||
}).then(() => { | ||
let socket = ioClient("http://localhost:1337"); | ||
socket.on("disconnect", () => { | ||
done(); | ||
}).on("connect", () => { | ||
socket.disconnect(); | ||
}); | ||
return Promise.resolve(); | ||
}); | ||
return Promise.resolve(); | ||
}).timeout(1000); | ||
}); | ||
}); | ||
}).timeout(1000); | ||
}); | ||
@@ -298,44 +339,94 @@ | ||
before(() => { return servers.release(); }); | ||
after(() => { return servers.release(); }); | ||
describe("classical", () => { | ||
it("should receive data from these servers", (done) => { | ||
before(() => { return servers.release(); }); | ||
after(() => { return servers.release(); }); | ||
servers.addServer({ | ||
port: 1337, | ||
name: "basic http server" | ||
}).then(() => { | ||
it("should receive data from these servers", (done) => { | ||
return servers.addServer({ | ||
port: 1338, | ||
name: "basic http server 2" | ||
}); | ||
servers.addServer({ | ||
port: 1337, | ||
name: "basic http server" | ||
}).then(() => { | ||
}).then(() => { | ||
return servers.listen(() => {}); | ||
}).then(() => { | ||
return servers.addServer({ | ||
port: 1338, | ||
name: "basic http server 2" | ||
}); | ||
return servers.connection((socket) => { | ||
}).then(() => { | ||
return servers.listen(() => {}); | ||
}).then(() => { | ||
socket.on("newconnection", () => { | ||
socket.disconnect(); | ||
done(); | ||
return servers.connection((socket) => { | ||
socket.on("newconnection", () => { | ||
socket.disconnect(); | ||
done(); | ||
}); | ||
}); | ||
}); | ||
}).then(() => { | ||
}).then(() => { | ||
let socket = ioClient("http://localhost:1337"); | ||
let socket = ioClient("http://localhost:1337"); | ||
socket.on("connect", () => { | ||
socket.emit("newconnection"); | ||
}); | ||
socket.on("connect", () => { | ||
socket.emit("newconnection"); | ||
return Promise.resolve(); | ||
}); | ||
return Promise.resolve(); | ||
}).timeout(1000); | ||
}); | ||
}); | ||
}).timeout(1000); | ||
describe("reverted", () => { | ||
before(() => { return servers.release(); }); | ||
after(() => { return servers.release(); }); | ||
it("should receive data from these servers", (done) => { | ||
servers.addServer({ | ||
port: 1337, | ||
name: "basic http server" | ||
}).then(() => { | ||
return servers.addServer({ | ||
port: 1338, | ||
name: "basic http server 2" | ||
}); | ||
}).then(() => { | ||
return servers.connection((socket) => { | ||
socket.on("newconnection", () => { | ||
socket.disconnect(); | ||
done(); | ||
}); | ||
}); | ||
}).then(() => { | ||
return servers.listen(() => {}); | ||
}).then(() => { | ||
let socket = ioClient("http://localhost:1337"); | ||
socket.on("connect", () => { | ||
socket.emit("newconnection"); | ||
}); | ||
return Promise.resolve(); | ||
}); | ||
}).timeout(1000); | ||
}); | ||
}); | ||
@@ -342,0 +433,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
22071
546
Updatednode-multi-webserver@^1.2.4