From 88de7d15786cdd7e7cbcd5da433434cd7cce5dc0 Mon Sep 17 00:00:00 2001 From: Simo Kinnunen Date: Thu, 30 Jan 2014 19:36:43 +0900 Subject: [PATCH] Fix issues with the proxy. --- lib/cli.js | 2 +- lib/roles/device.js | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/cli.js b/lib/cli.js index 942e53a7..95756ace 100644 --- a/lib/cli.js +++ b/lib/cli.js @@ -40,7 +40,7 @@ program , 'maximum port number for worker use' , Number , 7800) - .option('--public-ip' + .option('--public-ip ' , 'public ip for global access' , String , ip()) diff --git a/lib/roles/device.js b/lib/roles/device.js index 4c1a8afc..9599e711 100644 --- a/lib/roles/device.js +++ b/lib/roles/device.js @@ -181,6 +181,15 @@ module.exports = function(options) { .then(function() { var resolver = Promise.defer() + function resolve() { + vitals.register('device:http:proxy', proxyServer) + resolver.resolve() + } + + function reject(err) { + resolver.reject(err) + } + var proxy = httpProxy.createProxyServer({ target: url , ws: false @@ -190,13 +199,12 @@ module.exports = function(options) { var proxyServer = http.createServer(proxy.web) .listen(everyones) - proxyServer.on('listening', resolver.resolve) - proxyServer.on('error', resolver.reject) + proxyServer.on('listening', resolve) + proxyServer.on('error', reject) return resolver.promise.finally(function() { - proxyServer.removeListener('listening', resolver.resolve) - proxyServer.removeListener('error', resolver.reject) - vitals.add('device:http:proxy', proxyServer) + proxyServer.removeListener('listening', resolve) + proxyServer.removeListener('error', reject) }) }) .then(function() {