diff --git a/lib/roles/auth/ldap.js b/lib/roles/auth/ldap.js index 9c0bca31..f0466067 100644 --- a/lib/roles/auth/ldap.js +++ b/lib/roles/auth/ldap.js @@ -1,5 +1,8 @@ +var http = require('http') + var express = require('express') var validator = require('express-validator') +var Promise = require('bluebird') var logger = require('../../util/logger') var requtil = require('../../util/requtil') @@ -7,10 +10,17 @@ var ldaputil = require('../../util/ldaputil') var jwtutil = require('../../util/jwtutil') var pathutil = require('../../util/pathutil') var urlutil = require('../../util/urlutil') +var lifecycle = require('../../util/lifecycle') module.exports = function(options) { var log = logger.createLogger('auth-ldap') , app = express() + , server = Promise.promisifyAll(http.createServer(app)) + + lifecycle.observe(function() { + log.info('Waiting for client connections to end') + return server.closeAsync() + }) app.set('view engine', 'jade') app.set('views', pathutil.resource('auth-ldap/views')) @@ -117,6 +127,6 @@ module.exports = function(options) { } }) - app.listen(options.port) + server.listen(options.port) log.info('Listening on port %d', options.port) } diff --git a/lib/roles/auth/mock.js b/lib/roles/auth/mock.js index 9ebca88e..12fe9d12 100644 --- a/lib/roles/auth/mock.js +++ b/lib/roles/auth/mock.js @@ -1,15 +1,25 @@ +var http = require('http') + var express = require('express') var validator = require('express-validator') +var Promise = require('bluebird') var logger = require('../../util/logger') var requtil = require('../../util/requtil') var jwtutil = require('../../util/jwtutil') var pathutil = require('../../util/pathutil') var urlutil = require('../../util/urlutil') +var lifecycle = require('../../util/lifecycle') module.exports = function(options) { var log = logger.createLogger('auth-mock') , app = express() + , server = Promise.promisifyAll(http.createServer(app)) + + lifecycle.observe(function() { + log.info('Waiting for client connections to end') + return server.closeAsync() + }) app.set('view engine', 'jade') app.set('views', pathutil.resource('auth-mock/views')) @@ -101,6 +111,6 @@ module.exports = function(options) { } }) - app.listen(options.port) + server.listen(options.port) log.info('Listening on port %d', options.port) }