| 123456789101112131415161718192021222324 | var http = require('http')  , https = require('https')  , server = http.createServer(handler)  , port = +process.argv[2]  , prefix = process.argv[3]  , upstream = process.argv[4]  , calls = 0server.listen(port)function handler (req, res) {  if (req.url.indexOf(prefix) != 0)    throw new Error('request url [' + req.url + '] does not start with [' + prefix + ']')  var upstreamUrl = upstream + req.url.substring(prefix.length)  console.log(req.url + ' -> ' + upstreamUrl)  https.get(upstreamUrl, function (ures) {    ures.on('end', function () {      if (++calls == 2)        server.close()    })    ures.pipe(res)  })}
 |