Commit c0074a2e3d1a6a143e1742dbfa7baeedb996c974
1 parent
5b9c71853b
Exists in
master
DEBUG
Showing 1 changed file with 2 additions and 0 deletions Inline Diff
index.js
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; |