Commit e54541939c6e44f95bf797ce7c4e0bb9a5daeb33

Authored by Adhidarma Hadiwinoto
1 parent 28ac01965f
Exists in master

DEBUG_ON_NON_JSON_DIRECT_RESPONSE

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

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;