Commit a5ae0d715cee05fde6ff9af82e09b46f0e14dec0
1 parent
0f6b41821e
Exists in
master
Uniform response
Showing 1 changed file with 16 additions and 11 deletions Side-by-side Diff
lib/parse-result.js
... | ... | @@ -10,7 +10,9 @@ const report = require('./report'); |
10 | 10 | const translateRc = require('./translate-rc'); |
11 | 11 | |
12 | 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, isCallback }); | |
14 | + | |
15 | + const responseType = isCallback ? 'CALLBACK' : 'DIRECT-RESPONSE'; | |
14 | 16 | |
15 | 17 | if (!trxIdFromCaller && !isCallback) { |
16 | 18 | if (logger) logger.warn(`${MODULE_NAME} 8CAAD7C9: No trx id on non callback`, { xid }); |
... | ... | @@ -19,7 +21,8 @@ module.exports = (xid, trxIdFromCaller, xml, isCallback) => { |
19 | 21 | |
20 | 22 | const obj = parseXml(xid, xml); |
21 | 23 | if (!obj) { |
22 | - logger.warn(`${MODULE_NAME} B46CAAD1: Invalid XML`, { xid }); | |
24 | + const e = new Error(`${MODULE_NAME} B46CAAD1: Invalid XML`); | |
25 | + logger.warn(e.message, { xid }); | |
23 | 26 | |
24 | 27 | if (trxIdFromCaller) { |
25 | 28 | report(xid, { |
... | ... | @@ -27,9 +30,11 @@ module.exports = (xid, trxIdFromCaller, xml, isCallback) => { |
27 | 30 | rc: '68', |
28 | 31 | message: { |
29 | 32 | xid, |
30 | - isDirectResponse: !isCallback, | |
31 | - isCallback: !!isCallback, | |
32 | - body: xml, | |
33 | + responseType, | |
34 | + 'GW-ERROR': { | |
35 | + message: e.message, | |
36 | + responseFromPartner: xml, | |
37 | + }, | |
33 | 38 | }, |
34 | 39 | }); |
35 | 40 | } |
... | ... | @@ -49,10 +54,10 @@ module.exports = (xid, trxIdFromCaller, xml, isCallback) => { |
49 | 54 | rc: '68', |
50 | 55 | message: { |
51 | 56 | xid, |
52 | - responseType: isCallback ? 'CALLBACK' : 'DIRECT-RESPONSE', | |
57 | + responseType, | |
53 | 58 | 'GW-ERROR': { |
54 | 59 | message: e.message, |
55 | - response: obj, | |
60 | + responseFromPartner: obj, | |
56 | 61 | }, |
57 | 62 | }, |
58 | 63 | }); |
... | ... | @@ -67,8 +72,9 @@ module.exports = (xid, trxIdFromCaller, xml, isCallback) => { |
67 | 72 | const responseCodeField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.responseCode) || 'RESPONSECODE'; |
68 | 73 | const responseCodeFromResponse = params[responseCodeField]; |
69 | 74 | |
70 | - const messageField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.message) || 'MESSAGE'; | |
71 | - const messageFromResponse = params[messageField]; | |
75 | + // eslint-disable-next-line max-len | |
76 | + // const messageField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.message) || 'MESSAGE'; | |
77 | + // const messageFromResponse = params[messageField]; | |
72 | 78 | |
73 | 79 | const snField = (config.partner.xmlrpc_field && config.partner.xmlrpc_field.sn) || 'SN'; |
74 | 80 | const snFromResponse = params[snField]; |
... | ... | @@ -90,8 +96,7 @@ module.exports = (xid, trxIdFromCaller, xml, isCallback) => { |
90 | 96 | message: { |
91 | 97 | xid, |
92 | 98 | responseType: isCallback ? 'CALLBACK' : 'DIRECT-RESPONSE', |
93 | - message: messageFromResponse, | |
94 | - detail: params, | |
99 | + message: params, | |
95 | 100 | }, |
96 | 101 | }); |
97 | 102 | }; |