UNPKG

@reportfy/apm

Version:

Pacote para utilização de apm do reportfy.com.br

163 lines 7.52 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.mountedCostumerError = exports.mountedEventsError = exports.mountedApplicationResponse = exports.mountedErrorHttpRequest = exports.mountedTracingRequest = exports.mountedErrorResponse = exports.isJsonBoolean = exports.reportLogUpdated = exports.truncateFile = exports.reportLog = exports.isReport = exports.encryptData = exports.mountedRequest = void 0; var fs_1 = __importDefault(require("fs")); var path_1 = __importDefault(require("path")); var crypto_1 = __importDefault(require("crypto")); var config_1 = require("../config"); var env_1 = require("../env"); function mountedRequest(_a, data) { var key = _a.key, environment = _a.environment, accessKey = _a.accessKey, secretKey = _a.secretKey; return __assign(__assign({}, data), { // encryptData( // publicRSA, // JSON.stringify(data) // ), encrypt: false, key: key, env: environment, accessKey: accessKey, secretKey: secretKey, version: env_1.Environment.version }); } exports.mountedRequest = mountedRequest; function encryptData(secretKey, data) { if (secretKey === void 0) { secretKey = ''; } var dataCrypt = crypto_1.default.publicEncrypt({ key: secretKey, padding: crypto_1.default.constants.RSA_PKCS1_OAEP_PADDING, oaepHash: "sha256", }, Buffer.from(data)); return dataCrypt.toString('base64'); } exports.encryptData = encryptData; function isReport(value) { return value.toLowerCase().trim() === env_1.Environment.reportEnvironment.toLowerCase().trim(); } exports.isReport = isReport; function reportLog(obj, type) { var dir = path_1.default.join(__dirname, '../../', env_1.Environment.log); fs_1.default.appendFileSync(dir, "".concat(JSON.stringify(__assign(__assign({}, obj), { type: type })), "\r\n"), { flag: "a+" }); } exports.reportLog = reportLog; function truncateFile() { var dir = path_1.default.join(__dirname, '../../', env_1.Environment.log); fs_1.default.unlink(dir, function () { }); } exports.truncateFile = truncateFile; function reportLogUpdated(obj) { var dir = path_1.default.join(__dirname, '../../', env_1.Environment.log); fs_1.default.writeFile(dir, JSON.stringify(obj), function () { }); } exports.reportLogUpdated = reportLogUpdated; function isJsonBoolean(obj) { try { if (typeof obj === 'object') return true; JSON.parse(obj); return true; } catch (_) { return false; } } exports.isJsonBoolean = isJsonBoolean; function parseJsonToString(value) { return JSON.stringify(value); } function normalizeVariableResponse(data) { if (typeof data === 'string' && !data.includes('}')) { var identify = data.split('')[data.split('').length - 1]; if (identify !== '}') data = "{".concat(data.replace('{', ''), "}"); } return data; } function mountedErrorResponse(req, res, body, diffTime, config) { return { headers: parseJsonToString((0, config_1.removeJsonParams)(config, req.headers || {})), path: req.url, method: req.method, query: parseJsonToString((0, config_1.removeJsonParams)(config, req.query || {})), params: parseJsonToString((0, config_1.removeJsonParams)(config, req.params || {})), body: parseJsonToString((0, config_1.removeJsonParams)(config, req.body || {})), duration: diffTime, statusCode: res.statusCode, type: 'handler-error', stack: isJsonBoolean(normalizeVariableResponse(body)) ? parseJsonToString((0, config_1.removeJsonParams)(config, normalizeVariableResponse(body) || {})) : normalizeVariableResponse(body), message: "StatusCode ".concat(res.statusCode, " - ").concat(req.url) }; } exports.mountedErrorResponse = mountedErrorResponse; function mountedTracingRequest(req, res, body, diffTime, config) { return { headers: parseJsonToString((0, config_1.removeJsonParams)(config, req.headers || {})), path: req.url, method: req.method, query: parseJsonToString((0, config_1.removeJsonParams)(config, req.query || {})), params: parseJsonToString((0, config_1.removeJsonParams)(config, req.params || {})), body: parseJsonToString((0, config_1.removeJsonParams)(config, req.body || {})), duration: diffTime, statusCode: res.statusCode, type: 'handler-tracing', returnBody: isJsonBoolean(normalizeVariableResponse(body)) ? parseJsonToString((0, config_1.removeJsonParams)(config, normalizeVariableResponse(body) || {})) : normalizeVariableResponse(body), }; } exports.mountedTracingRequest = mountedTracingRequest; function mountedErrorHttpRequest(_a, configRemove) { var diffTime = _a.diffTime, path = _a.path, host = _a.host, url = _a.url, method = _a.method, _b = _a.query, query = _b === void 0 ? {} : _b, _c = _a.params, params = _c === void 0 ? {} : _c, body = _a.body, senderBody = _a.senderBody, _d = _a.headers, headers = _d === void 0 ? {} : _d, statusCode = _a.statusCode; return { headers: parseJsonToString((0, config_1.removeJsonParams)(configRemove, headers || {})), path: path, method: method, query: parseJsonToString((0, config_1.removeJsonParams)(configRemove, query)), params: parseJsonToString((0, config_1.removeJsonParams)(configRemove, params)), body: parseJsonToString((0, config_1.removeJsonParams)(configRemove, senderBody)), duration: diffTime, statusCode: statusCode, type: 'handler-intercept', stack: (0, config_1.removeJsonParams)(configRemove, normalizeVariableResponse(body)), message: "Intercept StatusCode ".concat(statusCode || null, " - ").concat(host) }; } exports.mountedErrorHttpRequest = mountedErrorHttpRequest; function mountedApplicationResponse(req, res, diffTime, config) { return { headers: parseJsonToString((0, config_1.removeJsonParams)(config, req.headers || {})), path: req.url, method: req.method, duration: diffTime, statusCode: res.statusCode, type: 'handler' }; } exports.mountedApplicationResponse = mountedApplicationResponse; function mountedEventsError(origin, error) { return { origin: origin, message: error.message, stack: error.stack, type: 'event-error' }; } exports.mountedEventsError = mountedEventsError; function mountedCostumerError(_a, config) { var origin = _a.origin, message = _a.message, stack = _a.stack; return { origin: origin, message: isJsonBoolean(message) ? parseJsonToString((0, config_1.removeJsonParams)(config, message)) : String(message), stack: isJsonBoolean(stack) ? parseJsonToString((0, config_1.removeJsonParams)(config, stack)) : JSON.stringify(stack), type: 'event-error' }; } exports.mountedCostumerError = mountedCostumerError; //# sourceMappingURL=index.js.map