in cloudrun-malware-scanner/config.ts [54:80]
export async function readAndVerifyConfig(
configFile: string,
storage: Storage,
): Promise<Config> {
logger.info(`Using configuration file: ${configFile}`);
let configText;
try {
configText = readFileSync(configFile, {encoding: 'utf-8'});
} catch (e) {
logger.fatal(
e,
`Unable to read JSON file from ${configFile}: ${e as Error}`,
);
throw e;
}
try {
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
const config = JSON.parse(configText);
if (typeof config !== 'object') {
throw new Error('config must be an object');
}
return await validateConfig(config, storage);
} catch (e) {
logger.fatal(e, `Failed parsing config file: ${configFile}: ${e as Error}`);
throw e;
}
}