add a sample for reverse proxy

This commit is contained in:
OttoMao 2015-01-29 11:00:42 +08:00
parent 631b6307ce
commit 5a8d36b16f
3 changed files with 13 additions and 8 deletions

16
bin.js
View File

@ -4,6 +4,7 @@ var program = require('commander'),
proxy = require("./proxy.js"), proxy = require("./proxy.js"),
color = require('colorful'), color = require('colorful'),
fs = require("fs"), fs = require("fs"),
path = require("path"),
packageInfo = require("./package.json"); packageInfo = require("./package.json");
program program
@ -33,15 +34,16 @@ if(program.clear){
var ruleModule; var ruleModule;
if(program.rule){ if(program.rule){
if(fs.existsSync(program.rule)){ var ruleFilePath = path.join(process.cwd(),program.rule);
try{ //for abs path try{
if(fs.existsSync(ruleFilePath)){
ruleModule = require(program.rule); ruleModule = require(program.rule);
}catch(e){ //for relative path console.log("rule file loaded :" + ruleFilePath);
ruleModule = require(process.cwd() + '/' + program.rule.replace(/^\.\//,'')); }else{
console.log(color.red("can not find rule file"));
} }
console.log(color.green("rule file loaded")); }catch(e){
}else{ console.log("failed to load rule file :" + e.toString());
console.log(color.red("can not find rule file"));
} }
} }

View File

@ -364,7 +364,7 @@ function setRules(newRule){
} }
if('function' == typeof(userRule.summary)){ if('function' == typeof(userRule.summary)){
functions.push(function(cb){ functions.push(function(cb){
userRule.summary(); console.log(userRule.summary());
cb(null); cb(null);
}); });
} }

View File

@ -27,6 +27,9 @@ The following are sample rules.
* rule_replace_response_status_code.js * rule_replace_response_status_code.js
* replace server's status code * replace server's status code
* 改变服务端响应的http状态码 * 改变服务端响应的http状态码
* rule_reverse_proxy.js
* assign a specific ip address for request
* 为请求绑定目标ip
* rule_use_local_data.js * rule_use_local_data.js
* map some requests to local file * map some requests to local file
* 把图片响应映射到本地 * 把图片响应映射到本地