Commit b4f67598951ad2e5a01cd42b97b241171b005e32
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 |