From e861e6e54969efb9ed42c65d3e3a322844f8e8c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=83=B3=E5=BD=93=E5=BD=93?= Date: Wed, 27 Aug 2014 00:47:52 +0800 Subject: [PATCH 1/3] Disable caching --- lib/requestHandler.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/requestHandler.js b/lib/requestHandler.js index 211798d..3f7c27d 100644 --- a/lib/requestHandler.js +++ b/lib/requestHandler.js @@ -7,6 +7,7 @@ var http = require("http"), color = require("colorful"), sleep = require("sleep"), Buffer = require('buffer').Buffer, + ChunkedStream = require("chunked"), httpsServerMgr = require("./httpsServerMgr"); var httpsServerMgrInstance = new httpsServerMgr(); @@ -115,7 +116,9 @@ function userRequestHandler(req,userRes){ var proxyReq = (ifHttps ? https : http).request(options, function(res) { userRes.writeHead(res.statusCode,mergeCORSHeader(req.headers,res.headers)); if(callback){ + res = new ChunkedStream(res); res.on('data',function(chunk){ + console.log("chunk",chunk); userRes.write(chunk); }); res.on('end',function(){ @@ -227,6 +230,13 @@ function mergeCORSHeader(reqHeader,originHeader){ targetObj["access-control-allow-methods"] = "GET, POST, PUT"; targetObj["access-control-allow-headers"] = reqHeader['access-control-request-headers'] || "-___-||"; + // Disable caching + // If the response status is 304 not modified, the data event of response will not emmit + targetObj["Transfer-Encoding"] = "chunked" + targetObj["Cache-Control"] = "no-cache, no-store, must-revalidate"; + targetObj["Pragma"] = "no-cache"; + targetObj["Expires"] = 0; + return targetObj; } From 83dfab56c1ea5b0d71b05bd2f4634f0a3e30a482 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=83=B3=E5=BD=93=E5=BD=93?= Date: Wed, 27 Aug 2014 00:47:52 +0800 Subject: [PATCH 2/3] Disable caching --- lib/requestHandler.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/requestHandler.js b/lib/requestHandler.js index 211798d..31ee562 100644 --- a/lib/requestHandler.js +++ b/lib/requestHandler.js @@ -227,6 +227,13 @@ function mergeCORSHeader(reqHeader,originHeader){ targetObj["access-control-allow-methods"] = "GET, POST, PUT"; targetObj["access-control-allow-headers"] = reqHeader['access-control-request-headers'] || "-___-||"; + // Disable caching + // If the response status is 304 not modified, the data event of response will not emmit + targetObj["Transfer-Encoding"] = "chunked" + targetObj["Cache-Control"] = "no-cache, no-store, must-revalidate"; + targetObj["Pragma"] = "no-cache"; + targetObj["Expires"] = 0; + return targetObj; } From 659a86234132f12a2c8a79fc59b24eda75c78dad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=83=B3=E5=BD=93=E5=BD=93?= Date: Wed, 27 Aug 2014 00:59:49 +0800 Subject: [PATCH 3/3] Disable caching --- lib/requestHandler.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/requestHandler.js b/lib/requestHandler.js index 3f7c27d..31ee562 100644 --- a/lib/requestHandler.js +++ b/lib/requestHandler.js @@ -7,7 +7,6 @@ var http = require("http"), color = require("colorful"), sleep = require("sleep"), Buffer = require('buffer').Buffer, - ChunkedStream = require("chunked"), httpsServerMgr = require("./httpsServerMgr"); var httpsServerMgrInstance = new httpsServerMgr(); @@ -116,9 +115,7 @@ function userRequestHandler(req,userRes){ var proxyReq = (ifHttps ? https : http).request(options, function(res) { userRes.writeHead(res.statusCode,mergeCORSHeader(req.headers,res.headers)); if(callback){ - res = new ChunkedStream(res); res.on('data',function(chunk){ - console.log("chunk",chunk); userRes.write(chunk); }); res.on('end',function(){