diff options
author | Sam Wilkins <samwilkins333@gmail.com> | 2020-05-17 17:46:30 -0700 |
---|---|---|
committer | Sam Wilkins <samwilkins333@gmail.com> | 2020-05-17 17:46:30 -0700 |
commit | 69e411884fb0a4be2edbf0816888a5fb93b96c7d (patch) | |
tree | 1d54ad9790fa75a84287edf3f037ea7c0081980f /src/server/apis/google/CredentialsLoader.ts | |
parent | 35b335eecd1ace5a1b3da04de3ee1e8674d10c15 (diff) |
cleanup
Diffstat (limited to 'src/server/apis/google/CredentialsLoader.ts')
-rw-r--r-- | src/server/apis/google/CredentialsLoader.ts | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/src/server/apis/google/CredentialsLoader.ts b/src/server/apis/google/CredentialsLoader.ts index 09db4fc60..ef1f9a91e 100644 --- a/src/server/apis/google/CredentialsLoader.ts +++ b/src/server/apis/google/CredentialsLoader.ts @@ -1,6 +1,7 @@ import { readFile, readFileSync } from "fs"; import { pathFromRoot } from "../../ActionUtilities"; import { SecureContextOptions } from "tls"; +import { blue, red } from "colors"; export namespace GoogleCredentialsLoader { @@ -30,16 +31,37 @@ export namespace GoogleCredentialsLoader { } -export namespace SSLCredentialsLoader { +export namespace SSL { export let Credentials: SecureContextOptions = {}; + export let Loaded = false; + + const suffixes = { + privateKey: ".key", + certificate: ".crt", + caBundle: "-ca.crt" + }; export async function loadCredentials() { const { serverName } = process.env; const cert = (suffix: string) => readFileSync(pathFromRoot(`./${serverName}${suffix}`)).toString(); - Credentials.key = cert(".key"); - Credentials.cert = cert(".crt"); - Credentials.ca = cert("-ca.crt"); + try { + Credentials.key = cert(suffixes.privateKey); + Credentials.cert = cert(suffixes.certificate); + Credentials.ca = cert(suffixes.caBundle); + Loaded = true; + } catch (e) { + Credentials = {}; + Loaded = false; + } + } + + export function exit() { + console.log(red("Running this server in release mode requires the following SSL credentials in the project root:")); + const serverName = process.env.serverName ? process.env.serverName : "{process.env.serverName}"; + Object.values(suffixes).forEach(suffix => console.log(blue(`${serverName}${suffix}`))); + console.log(red("Please ensure these files exist and restart, or run this in development mode.")); + process.exit(0); } } |