summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/node-gyp/test/simple-proxy.js
blob: cb0dfcfec7edcdf387cf4c0d52a798056b55d967 (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
25
26
27
'use strict'

const http = require('http')
const https = require('https')
const server = http.createServer(handler)
const port = +process.argv[2]
const prefix = process.argv[3]
const upstream = process.argv[4]
var 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)
  https.get(upstreamUrl, function (ures) {
    ures.on('end', function () {
      if (++calls === 2) {
        server.close()
      }
    })
    ures.pipe(res)
  })
}