From f2554d11a42f34eb1b58c823dbf92938f48162f3 Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <me@adhisimon.org>
Date: Wed, 18 Jan 2017 12:20:17 +0700
Subject: [PATCH] penanganan http 404

---
 partner-bayarkilat.js | 28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/partner-bayarkilat.js b/partner-bayarkilat.js
index c440132..f032c13 100644
--- a/partner-bayarkilat.js
+++ b/partner-bayarkilat.js
@@ -4,7 +4,6 @@ var winston = require('winston');
 var xml2jsParser = require('xml2js').parseString;
 var redis = require('redis');
 
-
 var config;
 var aaa;
 var callbackReport;
@@ -163,26 +162,33 @@ function requestToPartner(methodName, task, retry) {
 
         if (response.statusCode != 200) {
             var message = 'Partner response with http status code other that 200 (' + response.statusCode + ')';
+            var rc = '68';
+
+            if (!retry && response.statusCode == 404) {
+                rc = '91';
+            }
 
             logger.warn(message);
-            callbackReport(task.requestId, '68', message);
+            callbackReport(task.requestId, rc, message);
 
             var _response = {
-                raw: 'Partner response with http status code other that 200 (' + response.statusCode + ')',
+                raw: message,
                 parsed: {
-                    MESSAGE: 'Partner response with http status code other that 200 (' + response.statusCode + ')',
+                    MESSAGE: message,
                     responseHttpStatus: response.statusCode,
                     responseBody: body,
                 }
             }
-            aaa.pushResponseToMongoDb(task, _response, '68');
+            aaa.pushResponseToMongoDb(task, _response, rc);
 
-            setTimeout(
-                topupCheck,
-                delayBeforeCheckRetry,
-                task,
-                retry
-            );
+            if (rc == '68') {
+                setTimeout(
+                    topupCheck,
+                    delayBeforeCheckRetry,
+                    task,
+                    retry
+                );
+            }
 
             return;
         }
-- 
1.9.0