initial commit
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
var express = require('express');
|
||||
var path = require('path');
|
||||
var bodyParser = require('body-parser');
|
||||
var fs = require('fs');
|
||||
var moment = require('moment');
|
||||
var routes_api = require('./routes_api');
|
||||
var routes_default = require('./routes_default');
|
||||
var app = express();
|
||||
|
||||
//
|
||||
// Override default log to terminal and/or to file
|
||||
//
|
||||
var log_file = fs.createWriteStream(__dirname + '/logs/app.log', {flags : 'a'});
|
||||
var log_stdout = process.stdout;
|
||||
var now = moment(new Date()).format('MMMM Do YYYY, h:mm:ss a');
|
||||
console.log = function(msg){
|
||||
log_file.write(require('util').format( '[' + now +'] ' + msg) + '\n');
|
||||
// Uncomment if you want screen output
|
||||
log_stdout.write(require('util').format( '[' + now +'] ' + msg) + '\n');
|
||||
};
|
||||
|
||||
// Read all app settings
|
||||
var settings = require('./config.json');
|
||||
app.set('secretkey', settings.secretkey);
|
||||
app.set('webPort', settings.webPort);
|
||||
|
||||
//Vangt alle exceptions af, proces moet wel opnieuw gestart worden.
|
||||
process.on('uncaughtException', function (err) {
|
||||
log_file.write(require('util').format( '[' + now +'] '+ err.stack) + '\n');
|
||||
// Uncomment als je ook naar scherm wilt loggen
|
||||
log_stdout.write(require('util').format( '[' + now +'] '+ err.stack) + '\n');
|
||||
});
|
||||
|
||||
//
|
||||
app.use(bodyParser.urlencoded({ extended:true }));
|
||||
app.use(bodyParser.json());
|
||||
|
||||
// Middelware, voor alle /api/* request
|
||||
app.all('*', function(req, res, next)
|
||||
{
|
||||
// Log alle request
|
||||
console.log( req.method + " " + req.url) ;
|
||||
next();
|
||||
});
|
||||
|
||||
// Middelware, voor alle /api/* request
|
||||
app.all('/api/*', function(req, res, next)
|
||||
{
|
||||
// Set respons header (geen idee of dit compleet is)
|
||||
res.header("Access-Control-Allow-Origin","*");
|
||||
res.header("Access-Control-Allow-Methods","GET,PUT,POST,DELETE,OPTIONS");
|
||||
res.header("Access-Control-Allow-Headers","X-Requested-With,Content-type,Accept,X-Access-Token,X-Key");
|
||||
|
||||
// Set response contenttype
|
||||
res.contentType('application/json');
|
||||
|
||||
next();
|
||||
});
|
||||
|
||||
// Middleware statische bestanden (HTML, CSS, images)
|
||||
app.use(express.static(__dirname + '/public'));
|
||||
|
||||
// Routing with versions
|
||||
app.use('/', routes_default);
|
||||
// Routing with versions
|
||||
app.use('/api', routes_api);
|
||||
|
||||
|
||||
// Start server
|
||||
var port = process.env.PORT || app.get('webPort');
|
||||
var server = app.listen( port , function() {
|
||||
console.log('Listening server on port ' + server.address().port );
|
||||
});
|
||||
Reference in New Issue
Block a user