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(''); console.info('');
stunnel.connect({ var tun = stunnel.connect({
stunneld: program.stunneld stunneld: program.stunneld
, locals: program.locals , locals: program.locals
, services: program.services , services: program.services
@ -159,6 +159,17 @@ function connectTunnel() {
, insecure: program.insecure , insecure: program.insecure
, token: program.token , 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() { function rawTunnel() {

View File

@ -272,14 +272,8 @@ function run(copts) {
} }
connect(); connect();
function sigHandler() { return {
console.log('SIGINT'); end: function() {
// 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);
retry = false; retry = false;
if (timeoutId) { if (timeoutId) {
clearTimeout(timeoutId); clearTimeout(timeoutId);
@ -295,9 +289,10 @@ function run(copts) {
} }
} }
} }
process.on('SIGINT', sigHandler); };
} }
module.exports.connect = run; module.exports.connect = run;
module.exports.createConnection = run;
}()); }());