| var server = require('./server') |
| , events = require('events') |
| , stream = require('stream') |
| , assert = require('assert') |
| , fs = require('fs') |
| , request = require('../main.js') |
| , path = require('path') |
| , util = require('util') |
| ; |
| |
| var port = 6768 |
| , called = false |
| , proxiedHost = 'google.com' |
| ; |
| |
| var s = server.createServer(port) |
| s.listen(port, function () { |
| s.on('http://google.com/', function (req, res) { |
| called = true |
| assert.equal(req.headers.host, proxiedHost) |
| res.writeHeader(200) |
| res.end() |
| }) |
| request ({ |
| url: 'http://'+proxiedHost, |
| proxy: 'http://localhost:'+port |
| /* |
| //should behave as if these arguments where passed: |
| url: 'http://localhost:'+port, |
| headers: {host: proxiedHost} |
| //*/ |
| }, function (err, res, body) { |
| s.close() |
| }) |
| }) |
| |
| process.on('exit', function () { |
| assert.ok(called, 'the request must be made to the proxy server') |
| }) |