-var createError = require('http-errors');
-var express = require('express');
-var path = require('path');
-var cookieParser = require('cookie-parser');
-var logger = require('morgan');
-var favicon = require('serve-favicon');
-var params = require('./config/parameters');
+const createError = require('http-errors');
+const express = require('express');
+const path = require('path');
+const cookieParser = require('cookie-parser');
+const logger = require('morgan');
+const favicon = require('serve-favicon');
+const params = require('./config/parameters');
-var app = express();
+let app = express();
app.use(favicon(path.join(__dirname, "static", "favicon.ico")));
if (app.get('env') === 'development')
-{
// Full logging in development mode
app.use(logger('dev'));
-}
-else
-{
+else {
// http://dev.rdybarra.com/2016/06/23/Production-Logging-With-Morgan-In-Express/
app.set('trust proxy', true);
// In prod, only log error responses (https://github.com/expressjs/morgan)
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
-app.use(express.static(path.join(__dirname, 'static'))); //client "prod" files
+// Client "prod" files:
+app.use(express.static(path.join(__dirname, 'static')));
+// Update in progress:
+app.use(express.static(path.join(__dirname, 'fallback')));
// In development stage the client side has its own server
-if (params.cors.enable)
-{
+if (params.cors.enable) {
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", params.cors.allowedOrigin);
res.header("Access-Control-Allow-Credentials", true); //for cookies
- res.header("Access-Control-Allow-Headers",
- "Origin, X-Requested-With, Content-Type, Accept");
- res.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, DELETE");
+ res.header(
+ "Access-Control-Allow-Headers",
+ "Origin, X-Requested-With, Content-Type, Accept"
+ );
+ res.header(
+ "Access-Control-Allow-Methods",
+ "GET, POST, OPTIONS, PUT, DELETE"
+ );
next();
});
}
const routes = require(path.join(__dirname, "routes", "all"));
app.use('/', routes);
-// catch 404 and forward to error handler
+// Catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
-// error handler
+// Error handler
app.use(function(err, req, res, next) {
- // set locals, only providing error in development
- res.locals.message = err.message;
- res.locals.error = (req.app.get('env') === 'development' ? err : {});
- // render the error page
res.status(err.status || 500);
- res.send(`
- <!doctype html>
- <h1>= message</h1>
- <h2>= error.status</h2>
- <pre>#{error.stack}</pre>
- `);
+ if (app.get('env') === 'development') console.log(err.stack);
+ res.send(
+ "<h1>" + err.message + "</h1>" +
+ "<h2>" + err.status + "</h2>"
+ );
});
module.exports = app;