@reportfy/apm
Version:
Pacote para utilização de apm do reportfy.com.br
163 lines • 7.52 kB
JavaScript
;
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