1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
unleash.unleash/server.js
Ivar Østhus ca78acd25e 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.
2020-02-20 08:30:14 +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
};