From d5b6958dd950b4931940f0e0945182d247ed1ca0 Mon Sep 17 00:00:00 2001 From: OttoMao Date: Mon, 12 Jan 2015 10:43:20 +0800 Subject: [PATCH] bugfix for https throttle --- lib/requestHandler.js | 18 +++++++++++++----- package.json | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/requestHandler.js b/lib/requestHandler.js index ef8adcb..37f19d4 100644 --- a/lib/requestHandler.js +++ b/lib/requestHandler.js @@ -129,7 +129,7 @@ function userRequestHandler(req,userRes){ resHeader = util.lower_keys(resHeader); // remove gzip related header, and ungzip the content - var ifServerGzipped = /gzip/i.test(resHeader['content-encoding']); + var ifServerGzipped = /gzip/i.test(resHeader['content-encoding']); delete resHeader['content-encoding']; delete resHeader['content-length']; @@ -295,14 +295,22 @@ function connectReqHandler(req, socket, head){ callback(); } - //connect },function(callback){ try{ var conn = net.connect(proxyPort, proxyHost, function(){ - socket.write('HTTP/' + req.httpVersion + ' 200 OK\r\n\r\n', 'UTF-8', function() { - conn.pipe(socket); - socket.pipe(conn); + socket.write('HTTP/' + req.httpVersion + ' 200 OK\r\n\r\n', 'UTF-8', function(){ + + //throttle for direct-foward https + if(GLOBAL._throttle && !shouldIntercept ){ + var readable = conn.pipe(GLOBAL._throttle.throttle()); + readable.pipe(socket); + + socket.pipe(conn); + }else{ + conn.pipe(socket); + socket.pipe(conn); + } callback(); }); diff --git a/package.json b/package.json index b622a97..fcfe25b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "anyproxy", - "version": "3.0.2", + "version": "3.0.3", "description": "A fully configurable proxy in NodeJS, which can handle HTTPS requests perfectly.", "main": "proxy.js", "bin": {