add throttling

This commit is contained in:
加里
2014-10-29 16:20:18 +08:00
parent 785924dec2
commit 48e2304765
5 changed files with 47 additions and 23 deletions

View File

@@ -9,6 +9,7 @@ var http = require("http"),
color = require("colorful"),
Buffer = require('buffer').Buffer,
util = require("./util"),
Stream = require("stream"),
httpsServerMgr = require("./httpsServerMgr");
var httpsServerMgrInstance = new httpsServerMgr(),
@@ -109,6 +110,7 @@ function userRequestHandler(req,userRes){
};
options = userRule.replaceRequestOption(req,options) || options;
//update quest data
reqData = userRule.replaceRequestData(req,reqData) || reqData;
options.headers = util.lower_keys(options.headers);
@@ -182,13 +184,19 @@ function userRequestHandler(req,userRes){
//send response
},function(callback){
// if(404 == statusCode){
// var html404path = pathUtil.join(__dirname, '..', 'web', '404.html');
// userRes.end(fs.readFileSync(html404path));
// }else{
if(GLOBAL._throttle){
var thrStream = new Stream();
var readable = thrStream.pipe(GLOBAL._throttle.throttle());
readable.pipe(userRes);
thrStream.emit("data",serverResData);
thrStream.emit("end");
callback();
}else{
userRes.end(serverResData);
// }
callback();
callback();
}
//udpate record info
},function(callback){