diff --git a/lib/requestHandler.js b/lib/requestHandler.js index 36053a7..a84ba13 100644 --- a/lib/requestHandler.js +++ b/lib/requestHandler.js @@ -5,6 +5,7 @@ var http = require("http"), url = require("url"), pathUtil = require("path"), color = require("colorful"), + sleep = require("sleep"), httpsServerMgr = require("./httpsServerMgr"); var httpsServerMgrInstance = new httpsServerMgr(); @@ -77,6 +78,13 @@ function userRequestHandler(req,userRes){ console.log("file not exist : " + targetLocalfile); } } + + //sleep for seconds if configed in the rule file + //see rule_sample.js + if(hostTest && pathTest && !!rule.sleep){ + console.log(color.yellow('[' + req.url + '] will sleep for ' + rule.sleep + ' seconds.')); + sleep.sleep(rule.sleep); + } } if(ifLocalruleMatched){ diff --git a/package.json b/package.json index fe730c8..7ea7441 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,8 @@ "async": "~0.9.0", "async-task-mgr": "^1.0.1", "colorful": "^2.1.0", - "commander": "~2.3.0" + "commander": "~2.3.0", + "sleep": "~1.1.8" }, "devDependencies": { "tunnel": "0.0.3" diff --git a/rule_sample.js b/rule_sample.js index 53eede7..5273e3e 100644 --- a/rule_sample.js +++ b/rule_sample.js @@ -17,6 +17,10 @@ var rules = { "path" :/tps/, "localFile" :"", "localDir" :"/Users/Stella/tmp/" + },{ + "host" :/./, + "path" :/\.(js)/, + "sleep" :5//seconds } ] ,"httpsConfig":{