Commit 0fbfe1e7dc7f5be9513a0a0bf37313c0f90e26fa
1 parent
6db34b64f6
Exists in
master
do not create reverse report server if port is not defined
Showing 1 changed file with 6 additions and 3 deletions Inline Diff
lib/reverse-report.js
1 | "use strict"; | 1 | "use strict"; |
2 | 2 | ||
3 | const xmlrpc = require('xmlrpc'); | 3 | const xmlrpc = require('xmlrpc'); |
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 | const matrix = require('komodo-sdk/matrix'); | 7 | const matrix = require('komodo-sdk/matrix'); |
8 | const pull = require('komodo-sdk/gateway/pull'); | 8 | const pull = require('komodo-sdk/gateway/pull'); |
9 | 9 | ||
10 | const st24 = require('./st24'); | 10 | const st24 = require('./st24'); |
11 | const partner = require('./partner'); | 11 | const partner = require('./partner'); |
12 | const partnerRc = require('./partner-rc.json'); | 12 | const partnerRc = require('./partner-rc.json'); |
13 | 13 | ||
14 | function create() { | 14 | function create() { |
15 | const server = xmlrpc.createServer({ | 15 | if (!config || !config.reverse_report_port) { |
16 | port: config.reverse_report_port | 16 | logger.info('Not creating reverse report server because of undefined config.reverse_report_port'); |
17 | }); | 17 | return; |
18 | } | ||
19 | |||
20 | const server = xmlrpc.createServer({ port: config.reverse_report_port }); | ||
18 | 21 | ||
19 | logger.info('Reverse report server listen on port ' + config.reverse_report_port); | 22 | logger.info('Reverse report server listen on port ' + config.reverse_report_port); |
20 | 23 | ||
21 | server.on('NotFound', function (method, params) { | 24 | server.on('NotFound', function (method, params) { |
22 | logger.warn('REVERSEREPORT: Unknown method recevied on XMLRPC server', {method: method, params: params}); | 25 | logger.warn('REVERSEREPORT: Unknown method recevied on XMLRPC server', {method: method, params: params}); |
23 | }); | 26 | }); |
24 | 27 | ||
25 | server.on('topUpReport', function (err, params, callback) { | 28 | server.on('topUpReport', function (err, params, callback) { |
26 | 29 | ||
27 | logger.info('REVERSEREPORT: Got XMLRPC topUpReport request from partner', {method: 'topUpReport', params: params}); | 30 | logger.info('REVERSEREPORT: Got XMLRPC topUpReport request from partner', {method: 'topUpReport', params: params}); |
28 | matrix.last_topupReport_params = params; | 31 | matrix.last_topupReport_params = params; |
29 | 32 | ||
30 | const paramsCount = params.length; | 33 | const paramsCount = params.length; |
31 | for (let i = 0; i < paramsCount; i++) { | 34 | for (let i = 0; i < paramsCount; i++) { |
32 | let value = params[i]; | 35 | let value = params[i]; |
33 | 36 | ||
34 | partner.report({ | 37 | partner.report({ |
35 | trx_id: value.REQUESTID, | 38 | trx_id: value.REQUESTID, |
36 | rc: partnerRc[value.RESPONSECODE] || '40', | 39 | rc: partnerRc[value.RESPONSECODE] || '40', |
37 | message: value.MESSAGE, | 40 | message: value.MESSAGE, |
38 | sn: (value.SN || '').replace(/;$/, '') || st24.extractSnFromMessage(value.MESSAGE), | 41 | sn: (value.SN || '').replace(/;$/, '') || st24.extractSnFromMessage(value.MESSAGE), |
39 | amount: value.PRICE || st24.extractPriceFromMsg(value.MESSAGE), | 42 | amount: value.PRICE || st24.extractPriceFromMsg(value.MESSAGE), |
40 | raw: value, | 43 | raw: value, |
41 | misc: { | 44 | misc: { |
42 | } | 45 | } |
43 | }); | 46 | }); |
44 | } | 47 | } |
45 | 48 | ||
46 | callback(null, 'ACK REPORT OK'); | 49 | callback(null, 'ACK REPORT OK'); |
47 | }) | 50 | }) |
48 | } | 51 | } |
49 | 52 | ||
50 | create(); | 53 | create(); |
51 | 54 |