diff --git a/lib/setup.js b/lib/setup.js index 90c7641..7b30ae8 100644 --- a/lib/setup.js +++ b/lib/setup.js @@ -66,16 +66,21 @@ function setup_test_instance(opt, cb) { bouncer.on('request', on_request(proxy.web)); bouncer.on('upgrade', on_request(proxy.ws)); + function local_url (port, path) { + var base = 'http://' + loopback + ':' + port; + return path ? base + path : base; + } + function on_request(bounce) { return function(req, res) { var args = [].slice.call(arguments); if (is_control_req(req)) { - args.push({ target: 'http://' + loopback + ':' + control_port }); + args.push({ target: local_url(control_port) }); bounce.apply(proxy, args); return; } - args.push({ target: 'http://' + loopback + ':' + support_port }, on_support_server_proxy_done); + args.push({ target: local_url(support_port) }, on_support_server_proxy_done); bounce.apply(proxy, args); }; } @@ -105,7 +110,7 @@ function setup_test_instance(opt, cb) { debug('bouncer active on port %d', app_port); if (!tunnel) { - return cb(null, 'http://' + loopback + ':' + app_port + '/__zuul'); + return cb(null, local_url(app_port, '/__zuul')); } tunnel.connect(app_port, cb);