Skip to content

Commit b2ba413

Browse files
committed
add error and listening event to server
1 parent 8a95514 commit b2ba413

File tree

1 file changed

+33
-6
lines changed

1 file changed

+33
-6
lines changed

app.js

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,38 @@ if (locals.SSL.enableSSL) {
2222
cert: fs.readFileSync(locals.SSL.cert)
2323
};
2424

25-
require('https').createServer(options, app).listen(port, function () {
26-
console.log('server listening on port(SSL enabled) ' + port);
27-
});
25+
server = require('https').createServer(options, app).listen(port);
2826
} else {
29-
require('http').createServer(app).listen(port, function () {
30-
console.log('server listening on port ' + port);
31-
});
27+
server = require('http').createServer(app).listen(port);
28+
}
29+
30+
if (server !== null) {
31+
server.on('error', onError);
32+
server.on('listening', onListening);
33+
}
34+
35+
function onError(error) {
36+
if (error.syscall !== 'listen') {
37+
loggers.errLogger.error('server internal error', error);
38+
throw error;
39+
}
40+
41+
switch (error.code) {
42+
case 'EACCES':
43+
console.error('Port ' + port + ' requires elevated privileges');
44+
process.exit(1);
45+
break;
46+
case 'EADDRINUSE':
47+
console.error('Port ' + port + ' is already in use');
48+
process.exit(1);
49+
break;
50+
default:
51+
loggers.errLogger.error('server internal error', error);
52+
throw error;
53+
}
54+
}
55+
56+
function onListening() {
57+
console.log('Server listening on port'
58+
+ (locals.SSL.enableSSL ? '(SSL enabled) ' : ' ') + port);
3259
}

0 commit comments

Comments
 (0)