-
-
Save ChrisRicca/410647 to your computer and use it in GitHub Desktop.
sys = require('sys'), | |
http = require('http'); | |
request_count = 1; | |
http.createServer(function (req, res) { | |
var this_count = "(" + request_count++ + ")"; | |
sys.puts(this_count + " REQUESTED! " + req.url); | |
var google = http.createClient(80, 'www.google.com'); | |
var request = google.request('GET', req.url, {'host': 'www.google.com'}); | |
request.addListener('response', function (response) { | |
res.writeHead(response.statusCode, response.headers); | |
response.addListener('data', function (chunk) { | |
sys.puts(this_count + " DATA!"); | |
res.write(chunk); | |
}); | |
response.addListener('end', function (chunk) { | |
sys.puts(this_count + " END!"); | |
res.end(); | |
}); | |
}); | |
request.end(); | |
}).listen(8000); | |
sys.puts('Server running at http://127.0.0.1:8000/'); |
When I use a browser, and the browser fetches images and other things during the request, the server produces this output:
(3) REQUESTED! /
(3) DATA!
(3) DATA!
(3) DATA!
(3) DATA!
(3) DATA!
(3) DATA!
(3) END!
(4) REQUESTED! /logos/pacman10-hp.png
(5) REQUESTED! /images/srpr/nav_logo13.png
(6) REQUESTED! /extern_js/f/CgJlbhICdXMgACswCjhoQAgsKzAOOA8sKzAWOBYsKzAXOAcsKzAYOAUsKzAZOCAsKzAlOMqIASwrMCY4CywrMCc4BCwrMDw4AiwrMEA4ECwrMEE4BSwrMEU4ASwrME44BSwrMFE4AiyAAhM/SjUGL2YAI-M.js
(4) DATA!
(4) DATA!
(4) DATA!
(4) DATA!
(4) END!
(5) DATA!
(5) DATA!
(6) DATA!
(6) DATA!
(6) DATA!
(5) DATA!
(5) DATA!
(6) DATA!
(5) DATA!
(6) DATA!
(6) DATA!
(5) DATA!
(5) DATA!
(5) DATA!
(6) DATA!
(5) DATA!
(6) DATA!
(6) DATA!
(5) DATA!
(5) DATA!
(6) DATA!
(5) DATA!
(5) END!
(6) DATA!
(6) DATA!
(6) END!
(7) REQUESTED! /csi?v=3&s=webhp&action=&e=24660&ei=PLP4S-fZH8b_lgeLwdzGCg&expi=24660&imc=1&imn=1&imp=1&rt=prt.31,xjsls.45,ol.167,iml.88,xjses.169,xjsee.216,xjs.320
(7) END!
When I curl the service locally, the server produces this output:
(1) REQUESTED! /
(1) DATA!
(1) DATA!
(1) DATA!
(1) DATA!
(1) DATA!
(1) END!