X-Git-Url: https://git.auder.net/?p=vchess.git;a=blobdiff_plain;f=server%2Fapp.js;h=df15fa20ed4f2902ba1b31fcce2d15f99a1d142b;hp=1fc03c598722a2e6f8028798539b6cc2b1fcf0a9;hb=7a0c1b7e33a346195caebfdfa6489e7c6d0457e6;hpb=dac395887d96e2d642b209c6db6aaacc3ffacb34 diff --git a/server/app.js b/server/app.js index 1fc03c59..df15fa20 100644 --- a/server/app.js +++ b/server/app.js @@ -1,22 +1,19 @@ -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) @@ -28,17 +25,24 @@ else 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(); }); } @@ -47,24 +51,19 @@ if (params.cors.enable) 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(` - -

= message

-

= error.status

-
#{error.stack}
- `); + if (app.get('env') === 'development') console.log(err.stack); + res.send( + "

" + err.message + "

" + + "

" + err.status + "

" + ); }); module.exports = app;