mirror of
https://github.com/alibaba/anyproxy.git
synced 2025-07-29 09:27:42 +00:00
add throttling
This commit is contained in:
@@ -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){
|
||||
|
Reference in New Issue
Block a user