Blame view
lib/partner-listener/dumper/index.js
1.64 KB
732c359a7
|
1 2 3 4 5 6 |
const MODULE_NAME = 'PARTNER-LISTENER.DUMPER'; const fsPromise = require('fs').promises; const path = require('path'); const moment = require('moment'); const config = require('komodo-sdk/config'); |
810fa18da
|
7 |
const logger = require('tektrans-logger'); |
732c359a7
|
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
const mkdirIfNotExists = require('../../utils/mkdir-if-not-exists'); const baseDumpDir = path.join('dump', 'partner-listener'); const lastDumpFileName = path.join(baseDumpDir, 'last'); module.exports = async (xid, req, responseBody) => { if ( !config || !config.listener || !config.listener.partner || !config.listener.partner.dump ) return; const data = `-------- XID: ${xid} TS: ${moment().format('YYYY-MM-DD HH:mm:ss')} REQ FROM: ${req.ip} REQ CONTENT-TYPE: ${req.get('content-type')} REQ METHOD: ${req.method} REQ URL: ${req.url} REQ QUERY-STRING: ${JSON.stringify(req.query, null, 2)} REQ BODY: ${typeof req.body === 'string' ? req.body : JSON.stringify(req.body, null, 2)} RES BODY: ${typeof responseBody === 'string' ? responseBody : JSON.stringify(responseBody, null, 2)} `; const dumpFileName = path.join( baseDumpDir, moment().format('YYYY-MM-DD'), [ moment().format('YYMMDD_HHmmss_SSS'), xid, ].join('_'), ); try { |
f03c75812
|
51 |
await mkdirIfNotExists(xid, path.dirname(dumpFileName), MODULE_NAME); |
732c359a7
|
52 53 54 55 56 57 58 59 60 61 |
await fsPromise.writeFile(lastDumpFileName, data); await fsPromise.writeFile(dumpFileName, data); } catch (e) { logger.warn(`${MODULE_NAME} FBC46420: Exception on dumping file`, { xid, eCode: e.code, eMessage: e.eMessage, }); } }; |