Commit 1f196f6de5e79a4061a4fa549c55710c9d9ad389

Authored by Adhidarma Hadiwinoto
1 parent f673862b49
Exists in master

reverse result

Showing 1 changed file with 44 additions and 15 deletions Side-by-side Diff

... ... @@ -2,6 +2,7 @@
2 2  
3 3 process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
4 4  
  5 +const url = require('url');
5 6 const request = require('request');
6 7 const resendDelay = require('sate24/resend-delay')
7 8  
... ... @@ -101,28 +102,40 @@ function topupRequest(task, pendingOnConnectError) {
101 102 }
102 103  
103 104 let result = parsePartnerMessage(body);
104   - if (!result) {
  105 + processPartnerResponse(result);
  106 +
  107 + })
  108 +}
  109 +
  110 +function topupAdvice(task) {
  111 + topupRequest(task, true);
  112 +}
  113 +
  114 +function processPartnerResponse(resObj, task) {
  115 + if (!resObj) {
  116 +
  117 + if (task.requestId) {
105 118 callbackReport(task.requestId, '40', 'Error parsing response from partner. Partner response: ' + body);
106   - return;
  119 + }
  120 + else {
  121 + logger.warn('UNDEFINED REQUEST ID');
107 122 }
108 123  
109   - let st24Rc = '68';
  124 + return;
  125 + }
110 126  
111   - if (komodoRc[result.rc]) {
112   - st24Rc = komodoRc[result.rc];
113   - }
  127 + let st24Rc = '68';
114 128  
115   - let st24Message = result.message;
116   - if (result.sn) {
117   - st24Message = 'SN=' + result.sn + '; ' + st24Message;
118   - }
  129 + if (komodoRc[resObj.rc]) {
  130 + st24Rc = komodoRc[resObj.rc];
  131 + }
119 132  
120   - callbackReport(task.requestId, st24Rc, st24Message);
121   - })
122   -}
  133 + let st24Message = resObj.message;
  134 + if (resObj.sn) {
  135 + st24Message = 'SN=' + resObj.sn + '; ' + st24Message;
  136 + }
123 137  
124   -function topupAdvice(task) {
125   - topupRequest(task, true);
  138 + callbackReport(resObj.request_id, st24Rc, st24Message);
126 139 }
127 140  
128 141 function parsePartnerMessage(partner_message) {
... ... @@ -138,6 +151,22 @@ function parsePartnerMessage(partner_message) {
138 151 return result;
139 152 }
140 153  
  154 +function createReverseHttpServer() {
  155 + let listenPort = config.h2h_out.listen_port;
  156 +
  157 + http.createServer(onReverseReport).listen(listenPort, function() {
  158 + logger.info('HTTP Reverse/Report server listen on port ' + listenPort);
  159 + });
  160 +}
  161 +
  162 +function onReverseReport(request, response) {
  163 + response.end('OK');
  164 +
  165 + const qs = url.parse(request.url, true).query;
  166 + logger.verbose('Got reverse report from partner', {qs: qs});
  167 + processPartnerResponse(qs);
  168 +}
  169 +
141 170  
142 171 exports.start = start;
143 172 exports.topupRequest = topupRequest;