send auth info

This commit is contained in:
AJ ONeal 2018-06-05 02:21:12 -06:00
parent 7ec69f8d05
commit b9779715f8
1 changed files with 15 additions and 9 deletions

View File

@ -12,9 +12,10 @@ function timeoutPromise(duration) {
});
}
function run(state) {
function _connect(state) {
// jshint latedef:false
var activityTimeout = state.activityTimeout || (2*60 - 5)*1000;
var defaultHttpTimeout = (2 * 60);
var activityTimeout = state.activityTimeout || (defaultHttpTimeout - 5) * 1000;
var pongTimeout = state.pongTimeout || 10*1000;
// Allow the tunnel client to be created with no token. This will prevent the connection from
// being established initialy and allows the caller to use `.append` for the first token so
@ -477,19 +478,24 @@ function run(state) {
};
function connect() {
if (!tokens.length) {
console.warn("[Non-fatal Error] No tokens. Nothing to do.");
return;
}
var auth;
if (wstunneler) {
console.warn('attempted to connect with connection already active');
return;
}
if (tokens.length) {
auth = 'access_token=' + tokens[0];
} else if (state.config.email) {
auth = 'subject=' + state.config.email;
auth += '&subject_scheme=mailto';
// TODO create domains list earlier
auth += '&scope=' + Object.keys(state.config.servernames || {}).join(',');
}
timeoutId = null;
var machine = Packer.create(packerHandlers);
console.info("[connect] '" + state.relay + "'");
var tunnelUrl = state.relay.replace(/\/$/, '') + '/?access_token=' + tokens[0];
var tunnelUrl = state.relay.replace(/\/$/, '') + '/?' + auth;
wstunneler = new WebSocket(tunnelUrl, { rejectUnauthorized: !state.insecure });
wstunneler.on('open', wsHandlers.onOpen);
wstunneler.on('close', wsHandlers.onClose);
@ -601,7 +607,7 @@ function run(state) {
};
}
module.exports.connect = run;
module.exports.createConnection = run;
module.exports.connect = _connect;
module.exports.createConnection = _connect;
}());