From 5637174389aaf285ea4b0ebae0a709cfaf4b1c0c Mon Sep 17 00:00:00 2001 From: coderaiser Date: Thu, 21 Aug 2014 11:43:23 -0400 Subject: [PATCH] feature(express) rm main --- lib/server.js | 7 ++++++- lib/server/express.js | 36 ++++++++++++++++++++++++------------ 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/lib/server.js b/lib/server.js index 350aefe1..08ff0ffe 100644 --- a/lib/server.js +++ b/lib/server.js @@ -119,6 +119,7 @@ function createServer(port, ip, protocol, ssl, callback) { var server, app, respondApp, + config = main.config, isMinify = function() { var isMinify = main.config.minify; @@ -138,7 +139,11 @@ }) ]; - expressApp = express.getApp(funcs); + expressApp = express.getApp(funcs, { + auth : config.auth, + username: config.username, + password: config.password + }); if (expressApp) { app = expressApp; diff --git a/lib/server/express.js b/lib/server/express.js index f0d36f10..3d5da158 100644 --- a/lib/server/express.js +++ b/lib/server/express.js @@ -2,30 +2,33 @@ 'use strict'; var DIR = __dirname + '/../../', + DIR_LIB = DIR + 'lib/', + Util = require(DIR_LIB + 'util'), crypto = require('crypto'), main = global.cloudcmd.main, - express = main.require('express'), - httpAuth = main.require('http-auth'), - logger = main.require('morgan'), - Util = main.util, + + express = tryRequire('express'), + httpAuth = tryRequire('http-auth'), + logger = tryRequire('morgan'), basic, oldPass, oldName, app = express && express(); - exports.getApp = function(middleware) { - var isArray = Util.isArray(middleware), - config = main.config, - auth = config.auth; + exports.getApp = function(middleware, config) { + var isArray = Util.isArray(middleware); + + if (!config) + config.auth = false; if (app) { if (logger) app.use(logger('dev')); - if (auth && httpAuth) { - initAuth(); + if (config.auth && httpAuth) { + initAuth(config); app.use(httpAuth.connect(basic)); } @@ -41,12 +44,11 @@ }; - function initAuth() { + function initAuth(config) { basic = httpAuth.basic({ realm: 'Cloud Commander' }, function (username, password, callback) { // Custom authentication method. var hash, - config = main.config, name = config.username, passwd = config.password, equal = username === name, @@ -75,4 +77,14 @@ callback(equal); }); } + + function tryRequire(name) { + var module; + + Util.exec.try(function() { + module = require(name); + }); + + return module; + } })();