1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-28 00:06:53 +01:00
unleash.unleash/server.js
Ivar Østhus 43ff5732aa Modified configuration to make it run on heroku.
Please note that scripts and webpack is moved from
devDependences to dependencies. This is due to heroku
running the build process in production mode.
2014-11-06 22:42:57 +01:00

60 lines
1.7 KiB
JavaScript

var express = require('express'),
bodyParser = require('body-parser'),
log4js = require('log4js'),
logger = require('./lib/logger'),
routes = require('./lib/routes'),
eventApi = require('./lib/eventApi'),
featureApi = require('./lib/featureApi'),
strategyApi = require('./lib/strategyApi'),
validator = require('express-validator'),
app = express(),
router = express.Router(),
baseUriPath = process.env.BASE_URI_PATH || '';
if(app.get('env') === 'development') {
app.use(require('errorhandler')());
var webpack = require('webpack'),
webpackDevMiddleware = require('webpack-dev-middleware'),
webpackConfig = require('./webpack.config'),
compiler = webpack(webpackConfig),
config = {
publicPath: '/js',
noInfo: true
};
app.use(baseUriPath, webpackDevMiddleware(compiler, config));
}
app.use(validator([]));
app.set('trust proxy');
app.locals.baseUriPath = baseUriPath;
app.use(log4js.connectLogger(logger, {format: ':remote-addr :status :method :url :response-timems'}));
app.set('port', process.env.HTTP_PORT || process.env.PORT || 4242);
app.use(baseUriPath, express.static(__dirname + '/public'));
app.use(bodyParser.json({strict: false}));
eventApi(router);
featureApi(router);
strategyApi(router);
routes(router);
app.use(baseUriPath, router);
var server = app.listen(app.get('port'), function() {
logger.info('unleash started on ' + app.get('port'));
});
process.on('uncaughtException', function(err) {
logger.error('Uncaught Exception:', err.message);
logger.error(err.stack);
});
module.exports = {
app: app,
server: server
};