Commit d5d3a8a3539727be3f2fcf642d9e9ab5678daf8f

Authored by Adhidarma Hadiwinoto
1 parent d6e7dbdeac
Exists in master

DEBUG

Showing 1 changed file with 2 additions and 0 deletions Inline Diff

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', { qs: requestOptions.qs }); 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 logger.verbose('MESSAGING-CLIENT-LIB: Got resposnse', { body });
54
53 if (params.do_not_forward_to_core) return; 55 if (params.do_not_forward_to_core) return;
54 if (params.is_outgoing) return; 56 if (params.is_outgoing) return;
55 57
56 try { 58 try {
57 var data = JSON.parse(body); 59 var data = JSON.parse(body);
58 } 60 }
59 catch(e) { 61 catch(e) {
60 if (DEBUG_ON_NON_JSON_DIRECT_RESPONSE) { 62 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', { 63 logger.verbose('MESSAGING-CLIENT-LIB: direct response from messaging service is not on JSON format, forwarding raw response', {
62 partner: params.partner, 64 partner: params.partner,
63 msg: params.msg.trim(), 65 msg: params.msg.trim(),
64 directResponse: body, 66 directResponse: body,
65 }); 67 });
66 } 68 }
67 69
68 sendToPartner(params.partner, body); 70 sendToPartner(params.partner, body);
69 return; 71 return;
70 } 72 }
71 73
72 //logger.verbose('DEBUG', {msg: data.message, err: data.error}); 74 //logger.verbose('DEBUG', {msg: data.message, err: data.error});
73 const responseMessage = data.message || data.error; 75 const responseMessage = data.message || data.error;
74 sendToPartner(params.partner, responseMessage); 76 sendToPartner(params.partner, responseMessage);
75 }) 77 })
76 } 78 }
77 79
78 function sendToPartner(partner, msg) { 80 function sendToPartner(partner, msg) {
79 if (transport && transport.send) { 81 if (transport && transport.send) {
80 transport.send(partner, msg); 82 transport.send(partner, msg);
81 } 83 }
82 } 84 }
83 85
84 exports.setTransport = setTransport; 86 exports.setTransport = setTransport;
85 exports.onIncomingMessage = onIncomingMessage; 87 exports.onIncomingMessage = onIncomingMessage;
86 exports.sendToPartner = sendToPartner; 88 exports.sendToPartner = sendToPartner;