@bitblit/ratchet-epsilon-common
Version:
Tiny adapter to simplify building API gateway Lambda APIS
47 lines • 2.37 kB
JavaScript
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