|
|
@@ -341,7 +341,6 @@ Crowi.prototype.getTokens = function() {
|
|
|
|
|
|
Crowi.prototype.start = function() {
|
|
|
var self = this
|
|
|
- , http = require('http')
|
|
|
, server
|
|
|
, io;
|
|
|
|
|
|
@@ -359,45 +358,45 @@ Crowi.prototype.start = function() {
|
|
|
.then(function() {
|
|
|
return self.buildServer();
|
|
|
})
|
|
|
- .then(function(app) {
|
|
|
- server = http.createServer(app).listen(self.port, function() {
|
|
|
- logger.info(`[${self.node_env}] Express server listening on port ${self.port}`);
|
|
|
-
|
|
|
- // setup for dev
|
|
|
- if (self.node_env === 'development') {
|
|
|
- const eazyLogger = require('eazy-logger').Logger({
|
|
|
- prefix: '[{green:GROWI}] ',
|
|
|
- useLevelPrefixes: false,
|
|
|
- });
|
|
|
-
|
|
|
- eazyLogger.info('{bold:Server URLs:}');
|
|
|
- eazyLogger.unprefixed('info', '{grey:=======================================}');
|
|
|
- eazyLogger.unprefixed('info', ` APP: {magenta:http://localhost:${self.port}}`);
|
|
|
- eazyLogger.unprefixed('info', '{grey:=======================================}');
|
|
|
-
|
|
|
- self.crowiDev.setup(server, app);
|
|
|
- }
|
|
|
+ .then(function(express) {
|
|
|
+ return new Promise((resolve) => {
|
|
|
+ server = express.listen(self.port, function() {
|
|
|
+ logger.info(`[${self.node_env}] Express server listening on port ${self.port}`);
|
|
|
+
|
|
|
+ // setup for dev
|
|
|
+ if (self.node_env === 'development') {
|
|
|
+ const eazyLogger = require('eazy-logger').Logger({
|
|
|
+ prefix: '[{green:GROWI}] ',
|
|
|
+ useLevelPrefixes: false,
|
|
|
+ });
|
|
|
+
|
|
|
+ eazyLogger.info('{bold:Server URLs:}');
|
|
|
+ eazyLogger.unprefixed('info', '{grey:=======================================}');
|
|
|
+ eazyLogger.unprefixed('info', ` APP: {magenta:http://localhost:${self.port}}`);
|
|
|
+ eazyLogger.unprefixed('info', '{grey:=======================================}');
|
|
|
+
|
|
|
+ self.crowiDev.setup(server, express);
|
|
|
+ }
|
|
|
+ resolve(server);
|
|
|
+ });
|
|
|
+
|
|
|
+ io = require('socket.io')(server);
|
|
|
+ io.sockets.on('connection', function(socket) {
|
|
|
+ });
|
|
|
+ self.io = io;
|
|
|
+
|
|
|
+ // setup Express Routes
|
|
|
+ self.setupRoutesAtLast(express);
|
|
|
});
|
|
|
-
|
|
|
- io = require('socket.io')(server);
|
|
|
- io.sockets.on('connection', function(socket) {
|
|
|
- });
|
|
|
- self.io = io;
|
|
|
-
|
|
|
- // setup Express Routes
|
|
|
- self.setupRoutesAtLast(app);
|
|
|
-
|
|
|
- return app;
|
|
|
});
|
|
|
};
|
|
|
|
|
|
Crowi.prototype.buildServer = function() {
|
|
|
- var express = require('express')
|
|
|
- , app = express()
|
|
|
+ var express = require('express')()
|
|
|
, env = this.node_env
|
|
|
;
|
|
|
|
|
|
- require('./express-init')(this, app);
|
|
|
+ require('./express-init')(this, express);
|
|
|
|
|
|
// import plugins
|
|
|
var Config = this.model('Config');
|
|
|
@@ -405,11 +404,11 @@ Crowi.prototype.buildServer = function() {
|
|
|
if (isEnabledPlugins) {
|
|
|
debug('Plugins are enabled');
|
|
|
var PluginService = require('../plugins/plugin.service');
|
|
|
- var pluginService = new PluginService(this, app);
|
|
|
+ var pluginService = new PluginService(this, express);
|
|
|
pluginService.autoDetectAndLoadPlugins();
|
|
|
|
|
|
if (env == 'development') {
|
|
|
- this.crowiDev.loadPlugins(app);
|
|
|
+ this.crowiDev.loadPlugins(express);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -417,7 +416,7 @@ Crowi.prototype.buildServer = function() {
|
|
|
if (env == 'production') {
|
|
|
const expressBunyanLogger = require('express-bunyan-logger');
|
|
|
const logger = require('@alias/logger')('express');
|
|
|
- app.use(expressBunyanLogger({
|
|
|
+ express.use(expressBunyanLogger({
|
|
|
logger,
|
|
|
excludes: ['*'],
|
|
|
}));
|
|
|
@@ -425,10 +424,10 @@ Crowi.prototype.buildServer = function() {
|
|
|
// use morgan
|
|
|
else {
|
|
|
const morgan = require('morgan');
|
|
|
- app.use(morgan('dev'));
|
|
|
+ express.use(morgan('dev'));
|
|
|
}
|
|
|
|
|
|
- return Promise.resolve(app);
|
|
|
+ return Promise.resolve(express);
|
|
|
};
|
|
|
|
|
|
/**
|