Commit c0074a2e3d1a6a143e1742dbfa7baeedb996c974

Authored by Adhidarma Hadiwinoto
1 parent 5b9c71853b
Exists in master

DEBUG

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

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