@eagleeye-solutions/integration-events-common
Version:
Eagle Eye CDP connector common functionality
30 lines • 1.28 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createNewRelicMiddleware = createNewRelicMiddleware;
const uuid_1 = require("uuid");
const newrelic_1 = __importDefault(require("newrelic"));
function createNewRelicMiddleware() {
const isEnabled = process.env.ENABLE_NEW_RELIC === 'true';
if (!isEnabled) {
return (_req, _res, next) => next();
}
return (req, res, next) => {
req.log.info('Adding New Relic custom attributes');
try {
const calledUniqueId = req.get('called-unique-id') || (0, uuid_1.v4)();
const callerUniqueId = req.get('caller-unique-id') || '';
newrelic_1.default.addCustomAttribute('called-unique-id', calledUniqueId);
newrelic_1.default.addCustomAttribute('caller-unique-id', callerUniqueId);
res.set('called-unique-id', calledUniqueId);
res.set('caller-unique-id', callerUniqueId);
}
catch (error) {
req.log.error('Error adding New Relic custom attributes', error);
}
next();
};
}
//# sourceMappingURL=newrelic-middleware.js.map