| module.exports = function makeKillable(server) { | |
| var sockets = []; | |
| server.on('connection', function (socket) { | |
| //add socket to list | |
| sockets.push(socket); | |
| socket.once('close', function () { | |
| //remove socket from list | |
| sockets.splice(sockets.indexOf(socket), 1); | |
| }); | |
| }); | |
| server.kill = function (cb) { | |
| server.close(cb); | |
| sockets.forEach(function (socket) { | |
| socket.destroy(); | |
| }); | |
| // reset so the server can be restarted | |
| sockets = []; | |
| }; | |
| return server; | |
| }; |