• File: index.js
  • Full Path: /var/www/sandbox/node_modules/killable/index.js
  • Date Modified: 02/20/2025 6:17 PM
  • File size: 518 bytes
  • MIME-type: text/plain
  • Charset: utf-8
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;
};