-
Notifications
You must be signed in to change notification settings - Fork 1
/
server.js
38 lines (30 loc) · 975 Bytes
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
'use strict';
const express = require('express');
const configs = require('./configs');
const logger = require('./core/logger').child({widget_type: 'httpServer'});
const UpdateLoop = require('./core/updateLoop');
const mongo = require('./core/mongo');
const ws = require('./core/ws');
const migrations = require('./core/migrations');
const middlewares = require('./middlewares');
const routing = require('./routing');
const PORT = configs.get('server.port');
const server = require('http').createServer();
const app = express();
const promise = mongo.connect().then(() => {
return migrations.init();
}).then(() => {
server.on('request', app);
server.listen(PORT, () => {
logger.info(`Listening on port ${PORT}`);
ws.createWSServer(server);
middlewares.init(app);
routing.init(app);
UpdateLoop.init();
});
return app;
}).catch(err => {
logger.fatal(err);
process.exit(1);
});
module.exports = promise;