From 8ec1a4b4549c978c4b67bf6a7fa6c31f1a1c490a Mon Sep 17 00:00:00 2001
From: Adhidarma Hadiwinoto <gua@adhisimon.org>
Date: Wed, 4 May 2016 09:50:58 +0700
Subject: [PATCH] uninstall lru-cache

---
 package.json   |  1 -
 partner-cjk.js | 21 ++++-----------------
 2 files changed, 4 insertions(+), 18 deletions(-)

diff --git a/package.json b/package.json
index fac11ba..445981c 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,6 @@
   "dependencies": {
     "crypto": "0.0.3",
     "ini": "^1.3.4",
-    "lru-cache": "^4.0.1",
     "sate24": "git+http://gitlab.kodesumber.com/reload97/node-sate24.git",
     "sate24-expresso": "git+http://gitlab.kodesumber.com/reload97/sate24-expresso.git",
     "winston": "^2.2.0",
diff --git a/partner-cjk.js b/partner-cjk.js
index c081c72..1a8396f 100644
--- a/partner-cjk.js
+++ b/partner-cjk.js
@@ -4,14 +4,12 @@ var xml = require('xml');
 var url = require('url');
 var http = require('http');
 var xml2js = require('xml2js').parseString;
-var LRU = require("lru-cache");
 
 var config;
 var callbackReport;
 var aaa;
 var logger;
 var options;
-var taskCache = LRU({max: 2000});
 
 var maxRetry = 10;
 var sleepBeforeRetry = 30;
@@ -100,11 +98,11 @@ function supplierRcToST24Rc(rc) {
     }
 }
 
-function topupResponseHandler(body) {
+function topupResponseHandler(body, task) {
     //logger.info('Got reply from partner', {body: body});
     xml2js(body, function(err, result) {
         if (err) {
-            logger.warn('Got invalid XML from partner', {err: err, body: body});
+            logger.warn('Got invalid XML from partner', {err: err, body: body, task: task});
         }
         logger.info('XML message from partner', {result: result});
         
@@ -119,12 +117,6 @@ function topupResponseHandler(body) {
             trxid = result.ciwaru.trxid[0];
         }
         
-        var task = taskCache.get(trxid);
-        if (!task) {
-            logger.warn('Got reply for undefined task');
-            return;
-        }
-        
         if (message.toUpperCase().indexOf('PENDING') >= 0) {
             rc = '68';
         }
@@ -147,7 +139,6 @@ function topupResponseHandler(body) {
         
         if (rc == '68') {
             task.retry--;
-            taskCache.set(trxid, task);
                 
             if (task.retry) {
                 logger.info('Got pending status, retrying in ' +  sleepBeforeRetry + 's');
@@ -156,8 +147,6 @@ function topupResponseHandler(body) {
             else {
                 logger.warn('Maximum retry for pending status exceeded', {task: task});
             }
-        } else {
-            taskCache.del(trxid);
         }
     });
 }
@@ -167,9 +156,7 @@ function topupRequest(task, retry) {
     if (retry === undefined) {
         task.retry = maxRetry;
     }
-    
-    taskCache.set(task.requestId, task);
-    
+
     var remoteProduct = task.remoteProduct.split(',');
     
     var params = {
@@ -203,7 +190,7 @@ function topupRequest(task, retry) {
         var buffer = "";
         res.on( "data", function( data ) { buffer = buffer + data; } );
         res.on( "end", function( data ) {             
-                topupResponseHandler(buffer);
+                topupResponseHandler(buffer, task);
         });
     });
     
-- 
1.9.0