From 69e411884fb0a4be2edbf0816888a5fb93b96c7d Mon Sep 17 00:00:00 2001 From: Sam Wilkins Date: Sun, 17 May 2020 17:46:30 -0700 Subject: cleanup --- src/server/apis/google/CredentialsLoader.ts | 30 +++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) (limited to 'src/server/apis/google') 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); } } -- cgit v1.2.3-70-g09d2