exposed `.end` method on the wsclient

This commit is contained in:
tigerbot 2017-04-14 16:27:25 -06:00
parent 22d813e4e9
commit 1a65027fe0
2 changed files with 28 additions and 22 deletions

View File

@ -151,7 +151,7 @@ function connectTunnel() {
});
console.info('');
stunnel.connect({
var tun = stunnel.connect({
stunneld: program.stunneld
, locals: program.locals
, services: program.services
@ -159,6 +159,17 @@ function connectTunnel() {
, insecure: program.insecure
, token: program.token
});
function sigHandler() {
console.log('SIGINT');
// We want to handle cleanup properly unless something is broken in our cleanup process
// that prevents us from exitting, in which case we want the user to be able to send
// the signal again and exit the way it normally would.
process.removeListener('SIGINT', sigHandler);
tun.end();
}
process.on('SIGINT', sigHandler);
}
function rawTunnel() {

View File

@ -272,14 +272,8 @@ function run(copts) {
}
connect();
function sigHandler() {
console.log('SIGINT');
// We want to handle cleanup properly unless something is broken in our cleanup process
// that prevents us from exitting, in which case we want the user to be able to send
// the signal again and exit the way it normally would.
process.removeListener('SIGINT', sigHandler);
return {
end: function() {
retry = false;
if (timeoutId) {
clearTimeout(timeoutId);
@ -295,9 +289,10 @@ function run(copts) {
}
}
}
process.on('SIGINT', sigHandler);
};
}
module.exports.connect = run;
module.exports.createConnection = run;
}());