54 lines
1.7 KiB
JavaScript
54 lines
1.7 KiB
JavaScript
"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;
|