Commit faf62189539f49c865af4dd395f2fe76ddfdc9b0

Authored by Adhidarma Hadiwinoto
1 parent 876a2456d3
Exists in master

code reuse

Showing 1 changed file with 13 additions and 24 deletions Side-by-side Diff

... ... @@ -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 }