require 'newrelic' if process.env.NEW_RELIC_LICENSE_KEY? do (setupLodash = this) -> GLOBAL._ = require 'lodash' _.str = require 'underscore.string' _.mixin _.str.exports() express = require 'express' http = require 'http' log = require 'winston' serverSetup = require './server_setup' module.exports.startServer = (done) -> app = createAndConfigureApp() http.createServer(app).listen app.get('port'), -> done?() log.info('Express SSL server listening on port ' + app.get('port')) app createAndConfigureApp = -> serverSetup.setupLogging() serverSetup.connectToDatabase() serverSetup.setupMailchimp() app = express() serverSetup.setExpressConfigurationOptions app serverSetup.setupMiddleware app serverSetup.setupRoutes app app