Commit 365bfd35578ba82f288316dae87e2e5142e2fde4

Authored by Adhidarma Hadiwinoto
1 parent c01126a249
Exists in master

penanaganan error connect

Showing 1 changed file with 28 additions and 12 deletions Side-by-side Diff

partner-bayarkilat.js
... ... @@ -123,24 +123,40 @@ function requestToPartner(methodName, task, retry) {
123 123 logger.info('Requesting to partner', {requestOption: options});
124 124 request(options, function(error, response, body) {
125 125 if (error) {
126   - logger.warn('Error requesting to partner', {error: error});
127   - callbackReport(task.requestId, '68', 'Error requesting to partner. ' + error);
  126 + var msg = 'Error requesting to partner. ' + error;
  127 + var rc = '68';
  128 +
  129 + try {
  130 + if (methodName == 'PURCHASE') {
  131 + if (error.connect === true && (error.code === 'ETIMEDOUT' || error.code === 'ECONNREFUSED')) {
  132 + rc = '40';
  133 + }
  134 + }
  135 + }
  136 + catch(e) {
  137 + logger.warn('Parsing error exception on requestToPartner()');
  138 + }
  139 +
  140 + logger.warn(msg, {error: error});
  141 + callbackReport(task.requestId, rc, msg);
128 142  
129 143 var _response = {
130   - raw: 'Error requesting to partner. ' + error,
  144 + raw: JSON.stringify(msg: msg, error: error),
131 145 parsed: {
132   - MESSAGE: 'Error requesting to partner. ' + error,
  146 + MESSAGE: msg
133 147 error: error
134 148 }
135 149 }
136   - aaa.pushResponseToMongoDb(task, _response, '68');
137   -
138   - setTimeout(
139   - topupCheck,
140   - delayBeforeCheckRetry,
141   - task,
142   - retry
143   - );
  150 + aaa.pushResponseToMongoDb(task, _response, rc);
  151 +
  152 + if (rc == '68') {
  153 + setTimeout(
  154 + topupCheck,
  155 + delayBeforeCheckRetry,
  156 + task,
  157 + retry
  158 + );
  159 + }
144 160  
145 161 return;
146 162 }