Commit 4e75594977787596f3bbb0b4a5c6be8f34d2cb88

Authored by Adhidarma Hadiwinoto
1 parent 5c4d0e7845
Exists in master

More human readable on report

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

1 const MODULE_NAME = 'PARSE-RESULT'; 1 const MODULE_NAME = 'PARSE-RESULT';
2 2
3 const config = require('komodo-sdk/config'); 3 const config = require('komodo-sdk/config');
4 const logger = require('komodo-sdk/logger'); 4 const logger = require('komodo-sdk/logger');
5 5
6 const getParamsMemberObj = require('./generic-xmlrpc/get-params-members-obj'); 6 const getParamsMemberObj = require('./generic-xmlrpc/get-params-members-obj');
7 const parseXml = require('./parse-xml'); 7 const parseXml = require('./parse-xml');
8 8
9 const report = require('./report'); 9 const report = require('./report');
10 const translateRc = require('./translate-rc'); 10 const translateRc = require('./translate-rc');
11 11
12 module.exports = (xid, trxIdFromCaller, xml, isCallback) => { 12 module.exports = (xid, trxIdFromCaller, xml, isCallback) => {
13 logger.verbose(`${MODULE_NAME} 58547863: Processing XML message`, { xid }); 13 logger.verbose(`${MODULE_NAME} 58547863: Processing XML message`, { xid });
14 14
15 if (!trxIdFromCaller && !isCallback) { 15 if (!trxIdFromCaller && !isCallback) {
16 if (logger) logger.warn(`${MODULE_NAME} 8CAAD7C9: No trx id on non callback`, { xid }); 16 if (logger) logger.warn(`${MODULE_NAME} 8CAAD7C9: No trx id on non callback`, { xid });
17 return; 17 return;
18 } 18 }
19 19
20 const obj = parseXml(xid, xml); 20 const obj = parseXml(xid, xml);
21 if (!obj) { 21 if (!obj) {
22 logger.warn(`${MODULE_NAME} B46CAAD1: Invalid XML`, { xid }); 22 logger.warn(`${MODULE_NAME} B46CAAD1: Invalid XML`, { xid });
23 23
24 if (trxIdFromCaller) { 24 if (trxIdFromCaller) {
25 report(xid, { 25 report(xid, {
26 trx_id: trxIdFromCaller, 26 trx_id: trxIdFromCaller,
27 rc: '68', 27 rc: '68',
28 message: { 28 message: {
29 xid, 29 xid,
30 isDirectResponse: !isCallback, 30 isDirectResponse: !isCallback,
31 isCallback: !!isCallback, 31 isCallback: !!isCallback,
32 body: xml, 32 body: xml,
33 }, 33 },
34 }); 34 });
35 } 35 }
36 36
37 return; 37 return;
38 } 38 }
39 39
40 const params = getParamsMemberObj(obj, false); 40 const params = getParamsMemberObj(obj, false);
41 logger.verbose(`${MODULE_NAME} 3D5400C1: Params extracted from response`, { xid, params }); 41 logger.verbose(`${MODULE_NAME} 3D5400C1: Params extracted from response`, { xid, params });
42 42
43 const requestIdField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.requestId) || 'REQUESTID'; 43 const requestIdField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.requestId) || 'REQUESTID';
44 const requestIdFromResponse = params[requestIdField]; 44 const requestIdFromResponse = params[requestIdField];
45 45
46 const responseCodeField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.responseCode) || 'RESPONSECODE'; 46 const responseCodeField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.responseCode) || 'RESPONSECODE';
47 const responseCodeFromResponse = params[responseCodeField]; 47 const responseCodeFromResponse = params[responseCodeField];
48 48
49 // eslint-disable-next-line max-len 49 const messageField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.message) || 'MESSAGE';
50 // const messageField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.message) || 'MESSAGE'; 50 const messageFromResponse = params[messageField];
51 // const messageFromResponse = params[messageField];
52 51
53 const snField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.sn) || 'SN'; 52 const snField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.sn) || 'SN';
54 const snFromResponse = params[snField]; 53 const snFromResponse = params[snField];
55 54
56 const trxId = trxIdFromCaller || requestIdFromResponse; 55 const trxId = trxIdFromCaller || requestIdFromResponse;
57 if (!trxId) { 56 if (!trxId) {
58 logger.warn(`${MODULE_NAME} 534E684A: Unknown trxId`, { xid }); 57 logger.warn(`${MODULE_NAME} 534E684A: Unknown trxId`, { xid });
59 return; 58 return;
60 } 59 }
61 60
62 const rc = translateRc(xid, responseCodeFromResponse) || '68'; 61 const rc = translateRc(xid, responseCodeFromResponse) || '68';
63 62
64 const sn = (rc === '00' && snFromResponse) || null; 63 const sn = (rc === '00' && snFromResponse) || null;
65 64
66 report(xid, { 65 report(xid, {
67 trx_id: trxId, 66 trx_id: trxId,
68 rc, 67 rc,
69 sn, 68 sn,
70 message: { 69 message: {
71 xid, 70 xid,
72 responseType: isCallback ? 'CALLBACK' : 'DIRECT-RESPONSE', 71 responseType: isCallback ? 'CALLBACK' : 'DIRECT-RESPONSE',
73 body: xml, 72 message: messageFromResponse,
73 detail: params,
74 }, 74 },
75 }); 75 });
76 }; 76 };