From 0e387382c882b54ece707793c8229d55b1df9593 Mon Sep 17 00:00:00 2001
From: OttoMao <ottomao@gmail.com>
Date: Mon, 10 Nov 2014 17:09:44 +0800
Subject: [PATCH] add experimental interface for saving traffic data

---
 lib/requestHandler.js |  6 ++++++
 lib/rule_default.js   | 10 +++++++---
 package.json          |  2 +-
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/lib/requestHandler.js b/lib/requestHandler.js
index ea794d4..ff1e885 100644
--- a/lib/requestHandler.js
+++ b/lib/requestHandler.js
@@ -210,6 +210,12 @@ function userRequestHandler(req,userRes){
                         GLOBAL.recorder && GLOBAL.recorder.updateRecord(resourceInfoId,resourceInfo);
 
                         callback();
+
+                    //push trafic data to rule file
+                    },function(callback){
+                        userRule.fetchTrafficData && userRule.fetchTrafficData(resourceInfoId,resourceInfo);
+                        callback();
+
                     }
 
                 ],function(err,result){
diff --git a/lib/rule_default.js b/lib/rule_default.js
index 608dac6..aaa3121 100644
--- a/lib/rule_default.js
+++ b/lib/rule_default.js
@@ -49,12 +49,16 @@ module.exports = {
         callback(serverResData);
     },
 
-    pauseBeforeSendingResponse : function(req,res){
+    pauseBeforeSendingResponse: function(req,res){
     },
 
-    shouldInterceptHttpsReq :function(req){
+    shouldInterceptHttpsReq:function(req){
         return isRootCAFileExists;
-    }
+    },
+
+    //[beta]
+    //fetch entire traffic data
+    fetchTrafficData: function(id,info){}
 };
 
 function mergeCORSHeader(reqHeader,originHeader){
diff --git a/package.json b/package.json
index dfa3c23..6d0840a 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "anyproxy",
-  "version": "2.8.2",
+  "version": "2.8.3",
   "description": "A fully configurable proxy in NodeJS, which can handle HTTPS requests perfectly.",
   "main": "proxy.js",
   "bin": {