refactor out validServer()

pull/787/head
Ryan Tharp 5 years ago
parent eecf2252d7
commit 90de43e6ff

@ -17,6 +17,26 @@ class LokiPublicChatFactoryAPI extends EventEmitter {
await Promise.all(this.servers.map(server => server.close()));
}
static async validServer(serverUrl) {
// test to make sure it's online (and maybe has a valid SSL cert)
try {
// allow .loki (may only need an agent but not sure
// until we have a .loki to test with)
process.env.NODE_TLS_REJECT_UNAUTHORIZED = serverUrl.match(/\.loki\//)
? 0
: 1;
await nodeFetch(serverUrl);
process.env.NODE_TLS_REJECT_UNAUTHORIZED = 1;
// const txt = await res.text();
} catch (e) {
process.env.NODE_TLS_REJECT_UNAUTHORIZED = 1;
log.warn(`failing to created ${serverUrl}`, e.code, e.message);
// bail out if not valid enough
return false;
}
return true;
}
// server getter/factory
async findOrCreateServer(serverUrl) {
let thisServer = this.servers.find(
@ -25,18 +45,7 @@ class LokiPublicChatFactoryAPI extends EventEmitter {
if (!thisServer) {
log.info(`LokiAppDotNetAPI creating ${serverUrl}`);
// test to make sure it's online (and maybe has a valid SSL cert)
try {
// allow .loki (may only need an agent but not sure
// until we have a .loki to test with)
process.env.NODE_TLS_REJECT_UNAUTHORIZED = serverUrl.match(/\.loki\//) ? 0 : 1;
await nodeFetch(serverUrl);
process.env.NODE_TLS_REJECT_UNAUTHORIZED = 1;
// const txt = await res.text();
} catch(e) {
process.env.NODE_TLS_REJECT_UNAUTHORIZED = 1;
log.warn(`failing to created ${serverUrl}`, e.code, e.message);
// bail out if not valid enough
if (!await this.constructor.validServer(serverUrl)) {
return null;
}

Loading…
Cancel
Save