UNPKG

@bitblit/ratchet-epsilon-common

Version:

Tiny adapter to simplify building API gateway Lambda APIS

47 lines 2.37 kB
import { Logger } from '@bitblit/ratchet-common/logger/logger'; import { EsmRatchet } from '@bitblit/ratchet-common/lang/esm-ratchet'; export class EpsilonConstants { static EPSILON_FINDER_DYNAMIC_IMPORT_PATH_ENV_NAME = 'EPSILON_FINDER_DYNAMIC_IMPORT_PATH'; static EPSILON_FINDER_FUNCTION_NAME_ENV_NAME = 'EPSILON_FINDER_FUNCTION_NAME'; static DEFAULT_EPSILON_FINDER_DYNAMIC_IMPORT_PATH = 'epsilon-global-handler-provider.js'; static DEFAULT_EPSILON_FINDER_FUNCTION_NAME = 'findEpsilonGlobalHandler'; static AUTH_HEADER_PREFIX = 'Bearer '; static AUTH_HEADER_NAME = 'Authorization'; static BACKGROUND_SQS_TYPE_FIELD = 'BACKGROUND_TYPE'; static BACKGROUND_SNS_START_MARKER = 'BACKGROUND_START_MARKER'; static BACKGROUND_SNS_IMMEDIATE_RUN_FLAG = 'BACKGROUND_IMMEDIATE_RUN_FLAG'; static INTER_API_SNS_EVENT = 'EPSILON_INTER_API_EVENT'; static load(filePath, className) { Logger.info('Searching for %s : %s : %s', filePath, className, EsmRatchet.fetchDirName(import.meta.url)); let rval = null; const val = require(filePath); if (val) { Logger.debug('Found %s - pulling object : %j : %s', filePath, Object.keys(val), className); rval = val[className]; } return rval; } static async findDynamicImportEpsilonGlobalHandlerProvider() { const importPath = process.env[EpsilonConstants.EPSILON_FINDER_DYNAMIC_IMPORT_PATH_ENV_NAME] || EpsilonConstants.DEFAULT_EPSILON_FINDER_DYNAMIC_IMPORT_PATH; const fnName = process.env[EpsilonConstants.EPSILON_FINDER_FUNCTION_NAME_ENV_NAME] || EpsilonConstants.DEFAULT_EPSILON_FINDER_FUNCTION_NAME; Logger.debug('Using epsilon finder dynamic import path : %s / %s', importPath, fnName); let provider = null; try { provider = this.load(importPath, fnName); } catch (err) { Logger.error('Error loading provider : %s / %s : %s', importPath, fnName, err, err); } let rval = null; if (provider) { Logger.debug('Type2 is : %s', typeof provider); Logger.info('Got3 : %s : %s', provider, typeof provider); rval = provider(); Logger.info('Rval3 is %s', rval); } return rval; } constructor() { } } //# sourceMappingURL=epsilon-constants.js.map