"use strict"; var bodyParser = require("body-parser"); var cookieParser = require("cookie-parser"); var express = require("express"); var logger = require("morgan"); var path = require("path"); var errorHandler = require("errorhandler"); var methodOverride = require("method-override"); var index_1 = require("./routes/index"); var filter_1 = require("./routes/filter"); var pravila_1 = require("./routes/pravila"); var stats_1 = require("./routes/stats"); var Server = (function () { function Server() { this.app = express(); this.config(); this.routes(); this.api(); } Server.bootstrap = function () { return new Server(); }; Server.prototype.api = function () { }; Server.prototype.config = function () { this.app.use(express.static(path.join(__dirname, "public"))); this.app.set("views", path.join(__dirname, "views")); this.app.set("view engine", "pug"); this.app.use(logger("dev")); this.app.use(bodyParser.json()); this.app.use(bodyParser.urlencoded({ extended: true })); this.app.use(cookieParser("SECRET_GOES_HERE")); this.app.use(methodOverride()); this.app.use(function (err, req, res, next) { err.status = 404; next(err); }); this.app.use(errorHandler()); }; Server.prototype.routes = function () { var router; router = express.Router(); index_1.IndexRoute.create(router); filter_1.FilterRoute.create(router); pravila_1.PravilaRoute.create(router); stats_1.StatsRoute.create(router); this.app.use(router); }; return Server; }()); exports.Server = Server;