diff --git a/app.coffee b/app.coffee index e3a98e6..8fd27ef 100644 --- a/app.coffee +++ b/app.coffee @@ -1 +1,3 @@ -require './core' +core = require './core' + +core.runWebServer() diff --git a/core/index.coffee b/core/index.coffee index cb53f0d..722bd69 100644 --- a/core/index.coffee +++ b/core/index.coffee @@ -8,56 +8,60 @@ config = require './config' api = require './api' db = require './db' -app = express() +exports.runWebServer = -> + db.connect -> + app = express() -i18next.init - fallbackLng: config.i18n.defaultLanguage - resGetPath: path.join(__dirname, 'locale/__lng__.json') + i18next.init + fallbackLng: config.i18n.defaultLanguage + resGetPath: path.join(__dirname, 'locale/__lng__.json') -i18next.registerAppHelper app -app.use i18next.handle -app.use connect.json() -app.use connect.urlencoded() -app.use connect.cookieParser() -app.use connect.logger('dev') + i18next.registerAppHelper app + app.use i18next.handle + app.use connect.json() + app.use connect.urlencoded() + app.use connect.cookieParser() + app.use connect.logger('dev') -app.locals.version = do -> - logs = fs.readFileSync './.git/logs/HEAD', 'utf8' - logs = logs.split "\n" - lastline = logs[logs.length - 2] + app.locals.version = do -> + logs = fs.readFileSync './.git/logs/HEAD', 'utf8' + logs = logs.split "\n" + lastline = logs[logs.length - 2] - result = lastline.match /([a-f0-9]{40})\s([a-f0-9]{40})\s(\S+)\s(\S+)\s(\d+)\s(\+\d+)\s(.+)/ + result = lastline.match /([a-f0-9]{40})\s([a-f0-9]{40})\s(\S+)\s(\S+)\s(\d+)\s(\+\d+)\s(.+)/ - version = - parent: result[1] - version: result[2] - author: result[3] - email: result[4] - time: new Date parseInt(result[5]) * 1000 - timezone: result[6] - message: result[7] + version = + parent: result[1] + version: result[2] + author: result[3] + email: result[4] + time: new Date parseInt(result[5]) * 1000 + timezone: result[6] + message: result[7] - return version + return version -app.use (req, res, next) -> - res.locals.app = app + app.use (req, res, next) -> + res.locals.app = app - next() + next() -app.use (req, res, next) -> - if req.headers['x-token'] - req.token = req.headers['x-token'] - else - req.token = req.cookies.token + app.use (req, res, next) -> + if req.headers['x-token'] + req.token = req.headers['x-token'] + else + req.token = req.cookies.token - next() + next() -app.use express.static(path.join(__dirname, 'static')) + app.use express.static(path.join(__dirname, 'static')) -app.set 'views', path.join(__dirname, 'view') -app.set 'view engine', 'jade' + app.set 'views', path.join(__dirname, 'view') + app.set 'view engine', 'jade' -db.connect -> - api.bind(app) + api.bind app - app.listen config.web.port + app.listen config.web.port + +unless module.parent + exports.runWebServer()