Repository Public
1const env = (k: string, d?: string) => { const v = process.env[k] ?? d; if (v === undefined || v === '') throw new Error(`missing env ${k}`); return v; };2export const config = {3 origin: env('SPW_ORIGIN'),4 rpId: env('SPW_RP_ID'),5 port: Number(env('PORT', '8650')),6 host: env('HOST', '127.0.0.1'),7 databaseUrl: env('DATABASE_URL'),8 signerUrl: env('SPW_SIGNER_URL', 'http://127.0.0.1:8651'),9 signerSecret: env('SPW_SIGNER_SECRET'),10 trustProxy: (process.env.SPW_TRUST_PROXY ?? '127.0.0.1').split(',').map((x) => x.trim()),11 webDir: process.env.SPW_WEB_DIR ?? '',12 /** tests only: never relay signed bytes to a network */13 broadcast: env('SPW_BROADCAST', 'on') === 'on',14 workers: env('SPW_WORKERS', 'on') === 'on',15};16export const secureCookies = config.origin.startsWith('https://');17export class UserError extends Error { constructor(public code: string, message: string, public status = 400) { super(message); } }18