Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var http = require('http');
- var sys = require('sys');
- server = http.createServer(function(request, response) {
- sys.log(request.connection.remoteAddress + ": " +
- request.method + " " +
- request.url);
- var proxy = http.createClient(80, request.headers['host']);
- var proxy_request = proxy.request(request.method, request.url,
- request.headers);
- proxy_request.addListener('response', function (proxy_response) {
- proxy_response.addListener('data', function(chunk) {
- // sys.log("response: " + chunk);
- response.write(chunk, 'binary');
- });
- proxy_response.addListener('end', function() {
- response.end();
- });
- response.writeHead(proxy_response.statusCode,
- proxy_response.headers);
- });
- // prevent connection reset from killing the process
- request.socket.removeAllListeners('error');
- request.addListener('data', function(chunk) {
- sys.log("request: " + chunk);
- proxy_request.write(chunk, 'binary');
- });
- request.addListener('end', function() {
- proxy_request.end();
- });
- request.socket.addListener('error', function(err) {
- sys.error("error occured in request socket\n");
- sys.inspect(err);
- });
- });
- server.listen(8080);
- process.addListener("unhandledException", function (err) {
- sys.error("something bad happened!\n");
- sys.inspect(err);
- sys.error("restarting server");
- server.listen(8080);
- });
Add Comment
Please, Sign In to add comment