diff --git a/src/node/hooks/express.js b/src/node/hooks/express.js index d520ee6eb..50cb8657e 100644 --- a/src/node/hooks/express.js +++ b/src/node/hooks/express.js @@ -17,6 +17,14 @@ let serverName; exports.server = null; +const closeServer = async () => { + if (exports.server == null) return; + logger.info('Closing HTTP server...'); + await util.promisify(exports.server.close.bind(exports.server))(); + exports.server = null; + logger.info('HTTP server closed'); +}; + exports.createServer = async () => { console.log('Report bugs at https://github.com/ether/etherpad-lite/issues'); @@ -50,10 +58,7 @@ exports.createServer = async () => { }; exports.restartServer = async () => { - if (exports.server) { - console.log('Restarting express server'); - await util.promisify(exports.server.close).bind(exports.server)(); - } + await closeServer(); const app = express(); // New syntax for express v3 @@ -181,6 +186,5 @@ exports.restartServer = async () => { }; exports.shutdown = async (hookName, context) => { - if (!exports.server) return; - await util.promisify(exports.server.close).bind(exports.server)(); + await closeServer(); };