"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var createError = require("http-errors"); var express = require("express"); var path = require("path"); var cookieParser = require("cookie-parser"); var logger = require("morgan"); var App = (function () { function App() { this.port = 3000; this.AppMain = express(); this.setPlugins(); } App.prototype.setPlugins = function () { this.AppMain.set('port', this.port); this.AppMain.set('views', path.join(__dirname, '../views')); this.AppMain.set('view engine', 'pug'); this.AppMain.use(logger('dev')); this.AppMain.use(express.json()); this.AppMain.use(express.urlencoded({ extended: false })); this.AppMain.use(cookieParser()); this.AppMain.use(express.static(path.join(__dirname, '../public'))); this.setRouter(); }; App.prototype.setRouter = function () { this.setError(); }; App.prototype.setError = function () { this.AppMain.use(function (req, res, next) { next(createError(404)); }); this.AppMain.use(function (err, req, res, next) { res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; res.status(err.status || 500); res.render('error'); }); }; return App; }()); exports.App = App;