Commit faf62189539f49c865af4dd395f2fe76ddfdc9b0
1 parent
876a2456d3
Exists in
master
code reuse
Showing 1 changed file with 13 additions and 24 deletions Side-by-side Diff
lib/partner.js
... | ... | @@ -18,21 +18,18 @@ if (config.partner.use_sslv3) { |
18 | 18 | https.globalAgent.options.secureProtocol = 'SSLv3_method'; |
19 | 19 | } |
20 | 20 | |
21 | -function buy(task) { | |
22 | - const partnerUrl = url.parse(config.partner.url); | |
21 | +function createXmlRpcClient(endpoint) { | |
22 | + const partnerUrl = url.parse(endpoint); | |
23 | 23 | const clientOptions = { |
24 | 24 | host: partnerUrl.hostname, |
25 | 25 | port: partnerUrl.port, |
26 | 26 | path: partnerUrl.pathname |
27 | 27 | }; |
28 | 28 | |
29 | - let client; | |
30 | - if (partnerUrl.protocol == 'https:') { | |
31 | - client = xmlrpc.createSecureClient(clientOptions); | |
32 | - } else { | |
33 | - client = xmlrpc.createClient(clientOptions); | |
34 | - } | |
29 | + return partnerUrl.protocol === 'https' ? xmlrpc.createSecureClient(clientOptions) : xmlrpc.createClient(clientOptions); | |
30 | +} | |
35 | 31 | |
32 | +function buy(task) { | |
36 | 33 | const params = { |
37 | 34 | MSISDN: config.partner.msisdn || config.partner.userid, |
38 | 35 | REQUESTID: task.trx_id, |
... | ... | @@ -42,8 +39,9 @@ function buy(task) { |
42 | 39 | }; |
43 | 40 | |
44 | 41 | const xmlrpcMethod = 'topUpRequest'; |
45 | - logger.info('Preparing XMLRPC request', {method: xmlrpcMethod, params: params, partnerUrl: partnerUrl.href}); | |
42 | + logger.info('Preparing XMLRPC request', {method: xmlrpcMethod, params: params, partnerUrl: config.partner.url}); | |
46 | 43 | |
44 | + const client = createXmlRpcClient(config.partner.url); | |
47 | 45 | client.methodCall(xmlrpcMethod, [ params ], function (err, value) { |
48 | 46 | |
49 | 47 | if (err) { |
... | ... | @@ -91,20 +89,6 @@ function buy(task) { |
91 | 89 | } |
92 | 90 | |
93 | 91 | function advice(task) { |
94 | - const partnerUrl = url.parse(config.partner.url); | |
95 | - const clientOptions = { | |
96 | - host: partnerUrl.hostname, | |
97 | - port: partnerUrl.port, | |
98 | - path: partnerUrl.pathname | |
99 | - }; | |
100 | - | |
101 | - let client; | |
102 | - if (partnerUrl.protocol == 'https:') { | |
103 | - client = xmlrpc.createSecureClient(clientOptions); | |
104 | - } else { | |
105 | - client = xmlrpc.createClient(clientOptions); | |
106 | - } | |
107 | - | |
108 | 92 | const params = { |
109 | 93 | REQUESTID: task.trx_id, |
110 | 94 | MSISDN: config.partner.msisdn || config.partner.userid, |
... | ... | @@ -113,8 +97,9 @@ function advice(task) { |
113 | 97 | }; |
114 | 98 | |
115 | 99 | const xmlrpcMethod = 'topUpInquiry'; |
116 | - logger.info('Preparing XMLRPC request', {method: xmlrpcMethod, params: params, partnerUrl: partnerUrl.href}); | |
100 | + logger.info('Preparing XMLRPC request', {method: xmlrpcMethod, params: params, partnerUrl: config.partner.url}); | |
117 | 101 | |
102 | + const client = createXmlRpcClient(config.partner.url); | |
118 | 103 | client.methodCall(xmlrpcMethod, [ params ], function (err, value) { |
119 | 104 | |
120 | 105 | if (err) { |
... | ... | @@ -152,6 +137,10 @@ function advice(task) { |
152 | 137 | } |
153 | 138 | |
154 | 139 | function report(data) { |
140 | + if (!data) { | |
141 | + return; | |
142 | + } | |
143 | + | |
155 | 144 | matrix.last_report_to_core = data; |
156 | 145 | pull.report(data); |
157 | 146 | } |