Commit b4f67598951ad2e5a01cd42b97b241171b005e32

Authored by Adhidarma Hadiwinoto
1 parent 18291ea80d
Exists in master

Perbaikan dumper pada hit

Showing 1 changed file with 1 additions and 1 deletions Inline Diff

lib/hit/dump-req-res.js
1 const MODULE_NAME = 'DUMP-REQ-RES'; 1 const MODULE_NAME = 'DUMP-REQ-RES';
2 2
3 const fs = require('fs'); 3 const fs = require('fs');
4 const path = require('path'); 4 const path = require('path');
5 const fsPromise = require('fs').promises; 5 const fsPromise = require('fs').promises;
6 const moment = require('moment'); 6 const moment = require('moment');
7 7
8 const config = require('komodo-sdk/config'); 8 const config = require('komodo-sdk/config');
9 const logger = require('tektrans-logger'); 9 const logger = require('tektrans-logger');
10 10
11 const baseDumpDir = 'dump'; 11 const baseDumpDir = 'dump';
12 const requestDumpDir = path.join(baseDumpDir, 'request'); 12 const requestDumpDir = path.join(baseDumpDir, 'request');
13 13
14 if (!fs.existsSync(baseDumpDir)) { 14 if (!fs.existsSync(baseDumpDir)) {
15 logger.verbose(`${MODULE_NAME} 51105314: Creating base dump dir`); 15 logger.verbose(`${MODULE_NAME} 51105314: Creating base dump dir`);
16 fs.mkdirSync(baseDumpDir); 16 fs.mkdirSync(baseDumpDir);
17 } 17 }
18 18
19 if (!fs.existsSync(requestDumpDir)) { 19 if (!fs.existsSync(requestDumpDir)) {
20 logger.verbose(`${MODULE_NAME} 8A52891B: Creating request dump dir`); 20 logger.verbose(`${MODULE_NAME} 8A52891B: Creating request dump dir`);
21 fs.mkdirSync(requestDumpDir); 21 fs.mkdirSync(requestDumpDir);
22 } 22 }
23 23
24 module.exports = async ( 24 module.exports = async (
25 xid, task, httpMethod, endpointUrl, params, responseBody, responseStatus, isAdvice, 25 xid, task, httpMethod, endpointUrl, params, responseBody, responseStatus, isAdvice,
26 ) => { 26 ) => {
27 if ( 27 if (
28 !config 28 !config
29 || !config.partner 29 || !config.partner
30 || !config.partner.dump_request 30 || !config.partner.dump_request
31 ) { 31 ) {
32 return; 32 return;
33 } 33 }
34 34
35 const data = `-------- 35 const data = `--------
36 XID: ${xid} 36 XID: ${xid}
37 PID: ${process.pid} 37 PID: ${process.pid}
38 DATE: ${moment().format('YYYY-MM-DD HH:mm:ss.SSS')} 38 DATE: ${moment().format('YYYY-MM-DD HH:mm:ss.SSS')}
39 39
40 TASK: 40 TASK:
41 ${JSON.stringify(task, null, 2)} 41 ${JSON.stringify(task, null, 2)}
42 42
43 IS-ADVICE: !!${isAdvice} 43 IS-ADVICE: ${!!isAdvice}
44 44
45 HTTP-METHOD: ${httpMethod} 45 HTTP-METHOD: ${httpMethod}
46 URL: ${endpointUrl} 46 URL: ${endpointUrl}
47 PARAMS: 47 PARAMS:
48 ${ 48 ${
49 params && ( 49 params && (
50 (typeof params === 'string' && params) 50 (typeof params === 'string' && params)
51 || JSON.stringify(params, null, 2) 51 || JSON.stringify(params, null, 2)
52 ) 52 )
53 } 53 }
54 54
55 RESPONSE-STATUS: ${responseStatus} 55 RESPONSE-STATUS: ${responseStatus}
56 RESPONSE-BODY: 56 RESPONSE-BODY:
57 ${ 57 ${
58 responseBody && ( 58 responseBody && (
59 (typeof responseBody === 'string' && responseBody) 59 (typeof responseBody === 'string' && responseBody)
60 || JSON.stringify(responseBody, null, 2) 60 || JSON.stringify(responseBody, null, 2)
61 ) 61 )
62 } 62 }
63 63
64 `; 64 `;
65 65
66 const dumpDir = path.join( 66 const dumpDir = path.join(
67 requestDumpDir, 67 requestDumpDir,
68 moment().format('YYYY-MM-DD'), 68 moment().format('YYYY-MM-DD'),
69 ); 69 );
70 70
71 try { 71 try {
72 await fsPromise.stat(dumpDir); 72 await fsPromise.stat(dumpDir);
73 } catch { 73 } catch {
74 await fsPromise.mkdir(dumpDir, { recursive: true }); 74 await fsPromise.mkdir(dumpDir, { recursive: true });
75 } 75 }
76 76
77 await fsPromise.appendFile( 77 await fsPromise.appendFile(
78 path.join( 78 path.join(
79 dumpDir, 79 dumpDir,
80 `trx_${task.trx_id}`, 80 `trx_${task.trx_id}`,
81 ), 81 ),
82 data, 82 data,
83 ); 83 );
84 84
85 await fsPromise.writeFile( 85 await fsPromise.writeFile(
86 path.join(requestDumpDir, 'last'), 86 path.join(requestDumpDir, 'last'),
87 data, 87 data,
88 ); 88 );
89 }; 89 };
90 90