2022-09-03 18:14:57 +00:00
|
|
|
import { parseBool } from "./util.ts";
|
2022-09-02 23:14:28 +00:00
|
|
|
|
2022-09-04 12:35:05 +00:00
|
|
|
function get(key: string): string;
|
|
|
|
function get<T>(key: string, def: T): string | T;
|
|
|
|
function get<T>(key: string, def?: T): string | T {
|
|
|
|
const value = Deno.env.get(key);
|
|
|
|
if (value !== undefined) return value;
|
|
|
|
else if (def !== undefined) return def;
|
2022-09-02 20:24:33 +00:00
|
|
|
throw new Error(`Missing environment variable '${key}'.`);
|
|
|
|
}
|
|
|
|
|
|
|
|
export default {
|
2022-09-03 18:14:57 +00:00
|
|
|
debug: parseBool(get("DEBUG", "0")),
|
2022-09-02 20:24:33 +00:00
|
|
|
hostname: get("HOSTNAME", "127.0.0.1"),
|
|
|
|
port: parseInt(get("PORT", "8080")),
|
2022-09-04 12:39:03 +00:00
|
|
|
signKey: get("SIGN_KEY", null),
|
2022-09-03 16:03:51 +00:00
|
|
|
maxWebhookRetries: parseInt(get("MAX_RETRIES", "3")),
|
|
|
|
maxWebhookRetryMs: parseInt(get("MAX_RETRY_MS", "30000")),
|
2022-09-04 12:54:10 +00:00
|
|
|
mainRedirect: get("MAIN_REDIRECT", null),
|
2022-09-04 13:34:19 +00:00
|
|
|
|
|
|
|
// set by deno deploy
|
|
|
|
deployId: get("DENO_DEPLOYMENT_ID", "<unknown>"),
|
2022-09-02 20:24:33 +00:00
|
|
|
};
|