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