@argodigital/qq-shared
Version:
Shared code for QQ projects
37 lines (36 loc) • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var logger_1 = require("../logger");
var iopipe_1 = require("@iopipe/iopipe");
var cfn_response_1 = require("cfn-response");
var ioPipeEnabled = 'true' !== process.env.DISABLE_IOPIPE;
function cfwrapper(fn) {
return function (event, context) {
var log = logger_1.logger(context);
if (ioPipeEnabled) {
iopipe_1.metric('region', process.env.AWS_REGION);
iopipe_1.metric('revision', process.env.REVISION);
iopipe_1.metric('stage', process.env.STAGE);
iopipe_1.metric('request', event);
}
function success(message) {
log.info(message);
if (ioPipeEnabled) {
iopipe_1.label('valid');
iopipe_1.metric('valid', message);
}
return cfn_response_1.send(event, context, cfn_response_1.SUCCESS);
}
function failure(message) {
log.info('Invalid request', message, event);
if (ioPipeEnabled) {
iopipe_1.label('invalid');
iopipe_1.metric('invalid', message);
}
return cfn_response_1.send(event, context, cfn_response_1.FAILED);
}
var props = { event: event, log: log, success: success, failure: failure };
return fn(props);
};
}
exports.cfwrapper = cfwrapper;