WIP refactor TelebitRemote with EventEmitters and Duplexes
This commit is contained in:
parent
d39ebf88a2
commit
d8aedb39c2
|
@ -835,6 +835,24 @@ function startTelebitRemote(rawCb) {
|
|||
state.insecure = state.config.relay_ignore_invalid_certificates;
|
||||
// { relay, config, servernames, ports, sortingHat, net, insecure, token, handlers, greenlockConfig }
|
||||
|
||||
function onError(err) {
|
||||
// Likely causes:
|
||||
// * DNS lookup failed (no Internet)
|
||||
// * Rejected (bad authn)
|
||||
if ('ENOTFOUND' === err.code) {
|
||||
// DNS issue, probably network is disconnected
|
||||
setTimeout(function () {
|
||||
startTelebitRemote(rawCb);
|
||||
}, 90 * 1000);
|
||||
return;
|
||||
}
|
||||
if ('function' === typeof rawCb) {
|
||||
rawCb(err);
|
||||
} else {
|
||||
console.error('Unhandled TelebitRemote Error:');
|
||||
console.error(err);
|
||||
}
|
||||
}
|
||||
console.log("[DEBUG] token", typeof token, token);
|
||||
myRemote = TelebitRemote.createConnection({
|
||||
relay: state.relay
|
||||
|
@ -850,19 +868,10 @@ function startTelebitRemote(rawCb) {
|
|||
, handlers: state.handlers
|
||||
, greenlockConfig: state.greenlockConfig
|
||||
}, function () {
|
||||
myRemote.removeListener('error', onError);
|
||||
rawCb(null, myRemote);
|
||||
});
|
||||
myRemote.once('error', function (err) {
|
||||
// Likely causes:
|
||||
// * DNS lookup failed (no Internet)
|
||||
// * Rejected (bad authn)
|
||||
if ('function' === typeof rawCb) {
|
||||
rawCb(err);
|
||||
} else {
|
||||
console.error('Unhandled TelebitRemote Error:');
|
||||
console.error(err);
|
||||
}
|
||||
});
|
||||
myRemote.once('error', onError);
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -477,12 +477,14 @@ function TelebitRemote(state) {
|
|||
pausedClients.length = 0;
|
||||
});
|
||||
|
||||
/*
|
||||
//Call either Open or Reconnect handlers.
|
||||
if(state.handlers.onOpen && initialConnect) {
|
||||
state.handlers.onOpen();
|
||||
} else if (state.handlers.onReconnect && !initialConnect) {
|
||||
state.handlers.onReconnect();
|
||||
}
|
||||
*/
|
||||
initialConnect = false;
|
||||
}
|
||||
|
||||
|
@ -500,6 +502,9 @@ function TelebitRemote(state) {
|
|||
connCallback(error);
|
||||
}
|
||||
|
||||
me.emit('close');
|
||||
/*
|
||||
return;
|
||||
if (!authenticated) {
|
||||
if(state.handlers.onError) {
|
||||
var err = new Error('Failed to connect on first attempt... check authentication');
|
||||
|
@ -522,9 +527,13 @@ function TelebitRemote(state) {
|
|||
state.handlers.onClose();
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
, onError: function (err) {
|
||||
me.emit('error', err);
|
||||
/*
|
||||
return;
|
||||
if ('ENOTFOUND' === err.code) {
|
||||
// DNS issue, probably network is disconnected
|
||||
timeoutId = setTimeout(connect, 90 * 1000);
|
||||
|
@ -535,6 +544,7 @@ function TelebitRemote(state) {
|
|||
if (connCallback) {
|
||||
connCallback(err);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
, sendMessage: function (msg) {
|
||||
|
|
|
@ -68,7 +68,7 @@
|
|||
"serve-tpl-attachment": "^1.0.4",
|
||||
"sni": "^1.0.0",
|
||||
"socket-pair": "^1.0.3",
|
||||
"ws": "^2.3.1"
|
||||
"ws": "^6.0.0"
|
||||
},
|
||||
"trulyOptionalDependencies": {
|
||||
"bluebird": "^3.5.1"
|
||||
|
|
Loading…
Reference in New Issue