Skip to content

Commit

Permalink
Merge pull request #14 from Psychopoulet/dev
Browse files Browse the repository at this point in the history
correction
  • Loading branch information
Psychopoulet committed Aug 8, 2016
2 parents 0438252 + 77a92d9 commit e66a2f9
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 18 deletions.
41 changes: 24 additions & 17 deletions lib/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,34 +123,41 @@ module.exports = class MultiWebservers {

listen(requestListener) {

if (!requestListener) {
return Promise.reject("There is no requestListener");
if (this.listening()) {
return Promise.resolve();
}
else if ("function" !== typeof requestListener) {
return Promise.reject("requestListener is not a function");
}
else {

return new Promise((resolve) => {
if (!requestListener) {
return Promise.reject("There is no requestListener");
}
else if ("function" !== typeof requestListener) {
return Promise.reject("requestListener is not a function");
}
else {

let serversStarted = 0;
this.servers.forEach((current, i) => {
return new Promise((resolve) => {

this.servers[i].server = (current.options.ssl) ? https.createServer(current.options, requestListener) : http.createServer(requestListener);
this.servers[i].server = httpshutdown(this.servers[i].server).listen(current.options, () => {
let serversStarted = 0;
this.servers.forEach((current, i) => {

++serversStarted;
this.servers[i].server = (current.options.ssl) ? https.createServer(current.options, requestListener) : http.createServer(requestListener);
this.servers[i].server = httpshutdown(this.servers[i].server).listen(current.options, () => {

if (serversStarted >= this.servers.length) {
resolve();
}
++serversStarted;

if (serversStarted >= this.servers.length) {
resolve();
}

});

});

});

});
}

}

}
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "node-multi-webserver",
"version": "1.2.3",
"version": "1.2.4",
"description": "A multi http server manager",
"main": "lib/main.js",
"scripts": {
Expand Down
9 changes: 9 additions & 0 deletions tests/tests.js
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,15 @@ describe("create one http server", () => {

});

}).then(() => {

return servers.listen((req, res) => {

res.writeHead(200, {"Content-Type": contentType});
res.end(message);

});

}).then(() => {

assert.strictEqual(1, servers.servers.length, "server number is incorrect");
Expand Down

0 comments on commit e66a2f9

Please sign in to comment.