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