39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
|
var express = require('express');
|
||
|
var app = module.exports = express();
|
||
|
var bodyParser = require('body-parser');
|
||
|
var config = require('../application/config.js');
|
||
|
var database = require('../application/database.js');
|
||
|
var auth = require('../application/auth.js');
|
||
|
var path = require('path');
|
||
|
|
||
|
// Body parser middleware
|
||
|
app.use(bodyParser.json());
|
||
|
app.use(bodyParser.urlencoded({extended: true}));
|
||
|
|
||
|
// Auth middleware
|
||
|
var requestToken = function(request, response, next) {
|
||
|
auth.init(request, response, next);
|
||
|
};
|
||
|
|
||
|
// Load routes
|
||
|
app.use('/', requestToken, require('../application/router.js'));
|
||
|
|
||
|
app.start = function() {
|
||
|
var listener = app.listen(config.app.port, function() {
|
||
|
var servicePath = 'http://' + listener.address().address + ':' + listener.address().port;
|
||
|
database.init();
|
||
|
|
||
|
let packageJson = require('../package.json');
|
||
|
console.log(`Web server ${packageJson.name} listening at: ${servicePath}`);
|
||
|
|
||
|
if (config.app.debug) {
|
||
|
console.log(`${packageJson.name} service debug mode enabled`);
|
||
|
}
|
||
|
});
|
||
|
return listener;
|
||
|
};
|
||
|
|
||
|
if (require.main === module) {
|
||
|
app.start();
|
||
|
}
|