From 7fabe46ac3981c1291385481f30e5614b10313e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=83=B3=E5=BD=93=E5=BD=93?= Date: Tue, 2 Sep 2014 12:00:44 +0800 Subject: [PATCH 1/2] A temporary solution, pass iconv to rules --- lib/requestHandler.js | 1 + package.json | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/requestHandler.js b/lib/requestHandler.js index 16a2d4d..160cc2c 100644 --- a/lib/requestHandler.js +++ b/lib/requestHandler.js @@ -8,6 +8,7 @@ var http = require("http"), async = require('async'), color = require("colorful"), Buffer = require('buffer').Buffer, + iconv = require('iconv-lite'), httpsServerMgr = require("./httpsServerMgr"); var httpsServerMgrInstance = new httpsServerMgr(), diff --git a/package.json b/package.json index 239e1d9..83e1e19 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,8 @@ "entities": "^1.1.1", "express": "^4.8.5", "nedb": "^0.11.0", - "ws": "^0.4.32" + "ws": "^0.4.32", + "iconv-lite": "^0.4.4" }, "devDependencies": { "tunnel": "0.0.3" From 16641116a0649189b4d9cefa613e33fa6e43335e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=83=B3=E5=BD=93=E5=BD=93?= Date: Wed, 3 Sep 2014 01:10:26 +0800 Subject: [PATCH 2/2] rule.summary --- lib/requestHandler.js | 1 + proxy.js | 15 +++++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/requestHandler.js b/lib/requestHandler.js index 8c3c118..d4b5e90 100644 --- a/lib/requestHandler.js +++ b/lib/requestHandler.js @@ -300,6 +300,7 @@ function setRules(newRule){ return; }else{ userRule = util.merge(defaultRule,newRule); + 'function' == typeof(userRule.summary) && userRule.summary(); } } diff --git a/proxy.js b/proxy.js index 2f6664c..1d28df9 100644 --- a/proxy.js +++ b/proxy.js @@ -1,3 +1,9 @@ +//mix some modules to global.util +try{ + GLOBAL.util = {}; + GLOBAL.util['iconv-lite'] = require("iconv-lite"); +}catch(e){} + var http = require('http'), https = require('https'), fs = require('fs'), @@ -15,12 +21,6 @@ var http = require('http'), GLOBAL.recorder = new Recorder(); -//mix some modules to global.util -try{ - GLOBAL.util = {}; - GLOBAL.util['iconv-lite'] = require("iconv-lite"); -}catch(e){} - var T_TYPE_HTTP = 0, T_TYPE_HTTPS = 1, DEFAULT_PORT = 8001, @@ -54,6 +54,9 @@ function proxyServer(type, port, hostname,ruleFile){ }else{ console.log(color.red("can not find rule file")); } + }else{ + rules = require("./lib/rule_default.js"); + requestHandler.setRules(rules); } async.series(