Skip to content

Instantly share code, notes, and snippets.

@zhuzhuor
Created December 19, 2012 06:51
Show Gist options
  • Save zhuzhuor/4334925 to your computer and use it in GitHub Desktop.
Save zhuzhuor/4334925 to your computer and use it in GitHub Desktop.
a tiny piece of nodejs code for a functional http proxy server
var http = require('http');
var url = require('url');
http.createServer(function(client_request, client_response) {
var parsed_url = url.parse(client_request.url);
var proxy_request = http.request({
host: parsed_url.host,
path: parsed_url.path,
method: client_request.method,
headers: client_request.headers
}, function(proxy_response) {
proxy_response.pipe(client_response);
client_response.writeHead(proxy_response.statusCode, proxy_response.headers);
});
client_request.pipe(proxy_request);
}).listen(8080);
var http = require('http');
var url = require('url');
http.createServer(function(client_request, client_response) {
var parsed_url = url.parse(client_request.url);
var proxy_request_options = {
host: parsed_url.host,
path: parsed_url.path,
method: client_request.method,
headers: client_request.headers
};
console.info(client_request.method + ' ' + client_request.url);
// console.log('\nClient Request:');
// console.log(proxy_request_options);
var proxy_request = http.request(proxy_request_options, function(proxy_response) {
proxy_response.pipe(client_response);
client_response.writeHead(proxy_response.statusCode, proxy_response.headers);
// console.log('\nServer Response:');
// console.log(proxy_response.statusCode);
// console.log(proxy_response.headers);
});
client_request.pipe(proxy_request);
}).listen(8080);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment