diff --git a/box.js b/box.js index 3d7155295..5e7173c14 100755 --- a/box.js +++ b/box.js @@ -8,7 +8,8 @@ var appHealthMonitor = require('./src/apphealthmonitor.js'), async = require('async'), config = require('./src/config.js'), ldap = require('./src/ldap.js'), - server = require('./src/server.js'); + oauthproxy = require('./src/oauthproxy.js'), + server = require('./src/server.js'); console.log(); console.log('=========================================='); @@ -28,7 +29,8 @@ console.log(); async.series([ server.start, ldap.start, - appHealthMonitor.start + appHealthMonitor.start, + oauthproxy.start.bind(null, 4000 /* port */) ], function (error) { if (error) { console.error('Error starting server', error); @@ -41,11 +43,13 @@ var NOOP_CALLBACK = function () { }; process.on('SIGINT', function () { server.stop(NOOP_CALLBACK); ldap.stop(NOOP_CALLBACK); + oauthproxy.stop(NOOP_CALLBACK); setTimeout(process.exit.bind(process), 3000); }); process.on('SIGTERM', function () { server.stop(NOOP_CALLBACK); ldap.stop(NOOP_CALLBACK); + oauthproxy.stop(NOOP_CALLBACK); setTimeout(process.exit.bind(process), 3000); }); diff --git a/oauthproxy.js b/src/oauthproxy.js old mode 100755 new mode 100644 similarity index 94% rename from oauthproxy.js rename to src/oauthproxy.js index 8f1c06796..05f27f20a --- a/oauthproxy.js +++ b/src/oauthproxy.js @@ -1,15 +1,16 @@ -#!/usr/bin/env node - 'use strict'; +exports = module.exports = { + start: start, + stop: stop +}; + require('supererror')({ splatchError: true }); var appdb = require('./src/appdb.js'), assert = require('assert'), - async = require('async'), clientdb = require('./src/clientdb.js'), config = require('./src/config.js'), - database = require('./src/database.js'), debug = require('debug')('box:proxy'), express = require('express'), http = require('http'), @@ -182,14 +183,8 @@ function start(port, callback) { gHttpServer.listen(port, callback); } -async.series([ - database.initialize, - start.bind(null, 3000) -], function (error) { - if (error) { - console.error('Failed to start proxy server.', error); - process.exit(1); - } +function stop(callback) { + assert.strictEqual(typeof callback, 'function'); - console.log('Proxy server listening...'); -}); + gHttpServer.close(callback); +}