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] 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; }