12345678910111213141516171819202122232425 |
- var http = require('http')
- , https = require('https')
- , server = http.createServer(handler)
- , port = +process.argv[2]
- , prefix = process.argv[3]
- , upstream = process.argv[4]
- , calls = 0
-
- server.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)
- })
- }
|