Welcome to mirror list, hosted at ThFree Co, Russian Federation.

simple-proxy.js « test « node-gyp « node_modules - github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e55330c445bf6e6ebff3ee3effa9854746a04c8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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)
  })
}