Commit 68c4947a41d0c34b1e92e2db0ce42294908eaa40

Authored by Adhidarma Hadiwinoto
1 parent 76889f7ac5
Exists in master

callbackReportWrapper

Showing 1 changed file with 19 additions and 5 deletions Side-by-side Diff

partner-masterpulsa-voucher.js
... ... @@ -13,6 +13,20 @@ var redisClient;
13 13  
14 14 var adviceDelay = 30000;
15 15  
  16 +function callbackReportWrapper(requestId, rc, message) {
  17 + try {
  18 + message = message.replace(/:/g, ' ').replace(/#/g, ' ');
  19 + message = message.replace(/\s+/g, ' ');
  20 + }
  21 + catch(err) {
  22 + if (logger) {
  23 + logger.warn('Exception on callbackReportWrapper: ' + err);
  24 + }
  25 + }
  26 +
  27 + callbackReport(requestId, rc, message);
  28 +}
  29 +
16 30 function createRedisClient() {
17 31 redisClient = redis.createClient(config.globals.redis_port, config.globals.redis_host);
18 32 }
... ... @@ -46,7 +60,7 @@ function topupRequest(task, retry) {
46 60 var key = 'DUPCHECK.gw:' + config.globals.gateway_name + '.prod:' + task.remoteProduct + '.dest:' + task.destination + '.date:' + strftime('%Y%m%d', new Date);
47 61 redisClient.get(key, function(err, data) {
48 62 if (err) {
49   - callbackReport(task.requestId, '40', 'Gagal cek anti transaksi duplikat (redis error)');
  63 + callbackReportWrapper(task.requestId, '40', 'Gagal cek anti transaksi duplikat (redis error)');
50 64 return;
51 65 }
52 66  
... ... @@ -67,11 +81,11 @@ function topupRequest(task, retry) {
67 81 advice(task, retry);
68 82 } else {
69 83 logger.verbose('Sudah ada trx dengan tujuan dan denom yg sama, requestId tidak sama. Batalkan.')
70   - callbackReport(task.requestId, '55', 'Transaksi duplikat')
  84 + callbackReportWrapper(task.requestId, '55', 'Transaksi duplikat')
71 85 }
72 86 }
73 87 catch(errJSONParse) {
74   - callbackReport(task.requestId, '68', "error parsing json");
  88 + callbackReportWrapper(task.requestId, '68', "error parsing json");
75 89 }
76 90 }
77 91 });
... ... @@ -131,7 +145,7 @@ function reportPaymentSuccess(task, response) {
131 145  
132 146 logger.info('Report payment success to ST24', {task: task, response: response});
133 147  
134   - callbackReport(task.requestId, '00', message);
  148 + callbackReportWrapper(task.requestId, '00', message);
135 149 }
136 150  
137 151 function reportPaymentError(task, response) {
... ... @@ -145,7 +159,7 @@ function reportPaymentError(task, response) {
145 159  
146 160 logger.info('Report payment error/pending to ST24', {supplier_rc: errorCode, st24_rc: st24rc, task: task, response: response});
147 161  
148   - callbackReport(
  162 + callbackReportWrapper(
149 163 task.requestId,
150 164 getST24ResponseCode(errorCode),
151 165 response.raw