node.js を使用して http キャッシング プロキシ サーバーを作成しようとしています。ここで、任意の Web ページに転送してローカル ディスクにキャッシュすることができます。
以下は私の最初の試みのコードです:
var http = require('http'),
url = require('url'),
sys = require('url');
var fs = require('fs');
var port = "9010";
// function notFound
function notFound(response){
response.writeHead(404, "text/plain");
response.end("404 : File not Found");
}
//create simple http server with browser requet and browser response
http.createServer(function(b_request, b_response){
//Parse the browser request'url
var b_url = url.parse(b_request.url, true);
if(!b_url.query || !b_url.query.url) return notFound(b_response);
//Read and parse url parameter (/?url=p_url)
var p_url = url.parse(b_url.query.url);
//Initialize Http client
var p_client = http.createClient(p_url.port || 80, p_url.hostname);
//Send request
var p_request = p_client.request('GET', p_url.pathname || "/", {
host: p_url.hostname
});
p_request.end();
//Listen for response
p_request.addListener('response', function(p_response){
//Pass through headers
b_response.writeHead(p_response.statusCode, p_response.headers);
//Pass through data
p_response.addListener('data', function(chunk){
b_response.write(chunk);
});
//End request
p_response.addListener('end', function(){
b_response.end();
});
});
}).listen(port);
console.log("Server running at http://127.0.0.1:" +port + "/");
Node-static(https://github.com/cloudhead/node-static)、静的キャッシュなど、アプリにキャッシュされたライブラリを使用したい....
私が訪れたウェブサイトが正常に機能している場合、私のアプリはそれに転送されます。そうでない場合、アプリはディスクにキャッシュされたデータを取得して返します。
この作品の解決策はありますか?
ありがとう!