Commit e54541939c6e44f95bf797ce7c4e0bb9a5daeb33
1 parent
28ac01965f
Exists in
master
DEBUG_ON_NON_JSON_DIRECT_RESPONSE
Showing 1 changed file with 10 additions and 4 deletions Inline Diff
index.js
1 | "use strict"; | 1 | const DEBUG_ON_NON_JSON_DIRECT_RESPONSE = !!(process.env.DEBUG_ON_NON_JSON_DIRECT_RESPONSE) |
2 | 2 | ||
3 | const request = require('request'); | 3 | const request = require('request'); |
4 | |||
5 | const config = require('komodo-sdk/config'); | 4 | const config = require('komodo-sdk/config'); |
6 | const logger = require('komodo-sdk/logger'); | 5 | const logger = require('komodo-sdk/logger'); |
7 | 6 | ||
8 | require('./http-callback-handler'); | 7 | require('./http-callback-handler'); |
9 | 8 | ||
10 | let transport; | 9 | let transport; |
11 | 10 | ||
12 | const originData = { | 11 | const originData = { |
13 | origin: config.origin, | 12 | origin: config.origin, |
14 | report_port: config.listen_port | 13 | report_port: config.listen_port |
15 | } | 14 | } |
16 | 15 | ||
17 | function setTransport(_transport) { | 16 | function setTransport(_transport) { |
18 | transport = _transport; | 17 | transport = _transport; |
19 | } | 18 | } |
20 | 19 | ||
21 | function onIncomingMessage(params) { | 20 | function onIncomingMessage(params) { |
22 | 21 | ||
23 | if ( typeof params.partner !== 'string' || typeof params.msg !== 'string' || !params.partner.trim() || !params.msg.trim() ) { | 22 | if ( typeof params.partner !== 'string' || typeof params.msg !== 'string' || !params.partner.trim() || !params.msg.trim() ) { |
24 | logger.verbose('Not reporting to messaging center because of invalid parameter. F68CCCD74E79'); | 23 | logger.verbose('Not reporting to messaging center because of invalid parameter. F68CCCD74E79'); |
25 | return; | 24 | return; |
26 | } | 25 | } |
27 | 26 | ||
28 | const requestOptions = { | 27 | const requestOptions = { |
29 | url: config.messaging_url, | 28 | url: config.messaging_url, |
30 | qs: { | 29 | qs: { |
31 | origin: originData.origin, | 30 | origin: originData.origin, |
32 | origin_label: params.origin_label, | 31 | origin_label: params.origin_label, |
33 | origin_transport: params.origin_transport, | 32 | origin_transport: params.origin_transport, |
34 | report_port: originData.report_port, | 33 | report_port: originData.report_port, |
35 | partner: params.partner, | 34 | partner: params.partner, |
36 | partner_raw: params.partner_raw || params.partner, | 35 | partner_raw: params.partner_raw || params.partner, |
37 | from: params.partner, | 36 | from: params.partner, |
38 | from_raw: params.partner_raw || params.partner, | 37 | from_raw: params.partner_raw || params.partner, |
39 | msg: params.msg.trim(), | 38 | msg: params.msg.trim(), |
40 | do_not_forward_to_core: params.do_not_forward_to_core || null, | 39 | do_not_forward_to_core: params.do_not_forward_to_core || null, |
41 | is_outgoing: params.is_outgoing || null, | 40 | is_outgoing: params.is_outgoing || null, |
42 | } | 41 | } |
43 | } | 42 | } |
44 | 43 | ||
45 | logger.verbose('MESSAGING-CLIENT-LIB: Sending report to messaging service'); | 44 | logger.verbose('MESSAGING-CLIENT-LIB: Sending report to messaging service'); |
46 | request(requestOptions, function(err, res, body) { | 45 | request(requestOptions, function(err, res, body) { |
47 | if (err) { | 46 | if (err) { |
48 | logger.warn('MESSAGING-CLIENT-LIB: error on request to CORE', {err: err}); | 47 | logger.warn('MESSAGING-CLIENT-LIB: error on request to messaging service', {err: err}); |
49 | return; | 48 | return; |
50 | } | 49 | } |
51 | 50 | ||
52 | if (params.do_not_forward_to_core) return; | 51 | if (params.do_not_forward_to_core) return; |
53 | if (params.is_outgoing) return; | 52 | if (params.is_outgoing) return; |
54 | 53 | ||
55 | try { | 54 | try { |
56 | var data = JSON.parse(body); | 55 | var data = JSON.parse(body); |
57 | } | 56 | } |
58 | catch(e) { | 57 | catch(e) { |
59 | //logger.verbose('Direct response is not on JSON format, forwarding raw response'); | 58 | if (DEBUG_ON_NON_JSON_DIRECT_RESPONSE) { |
59 | logger.verbose('MESSAGING-CLIENT-LIB: direct response is not on JSON format, forwarding raw response', { | ||
60 | partner: params.partner, | ||
61 | msg: params.msg.trim(), | ||
62 | directResponse: body, | ||
63 | }); | ||
64 | } | ||
65 | |||
60 | sendToPartner(params.partner, body); | 66 | sendToPartner(params.partner, body); |
61 | return; | 67 | return; |
62 | } | 68 | } |
63 | 69 | ||
64 | //logger.verbose('DEBUG', {msg: data.message, err: data.error}); | 70 | //logger.verbose('DEBUG', {msg: data.message, err: data.error}); |
65 | const responseMessage = data.message || data.error; | 71 | const responseMessage = data.message || data.error; |
66 | sendToPartner(params.partner, responseMessage); | 72 | sendToPartner(params.partner, responseMessage); |
67 | }) | 73 | }) |
68 | } | 74 | } |
69 | 75 | ||
70 | function sendToPartner(partner, msg) { | 76 | function sendToPartner(partner, msg) { |
71 | if (transport && transport.send) { | 77 | if (transport && transport.send) { |
72 | transport.send(partner, msg); | 78 | transport.send(partner, msg); |
73 | } | 79 | } |
74 | } | 80 | } |
75 | 81 | ||
76 | exports.setTransport = setTransport; | 82 | exports.setTransport = setTransport; |
77 | exports.onIncomingMessage = onIncomingMessage; | 83 | exports.onIncomingMessage = onIncomingMessage; |