UNPKG

@touchway/touchway-express-server

Version:

75 lines (74 loc) 3.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var express = require("express"); var useragent = require("express-useragent"); var session = require("express-session"); var cors = require("cors"); var TWWebServer = /** @class */ (function () { function TWWebServer() { this.twapp = express(); this.config(); } TWWebServer.prototype.config = function () { /* ------------------------------------------------------------- /* Enable JSON handling /* ------------------------------------------------------------- */ this.twapp.use(express.json()); /* ------------------------------------------------------------- /* URL encoding / multipart-form-data (upload files); /* ------------------------------------------------------------- */ this.twapp.use(express.urlencoded({ extended: true, limit: '500mb' })); /* ------------------------------------------------------------- /* Trust first proxy /* ------------------------------------------------------------- */ this.twapp.set('trust proxy', 1); /* ------------------------------------------------------------- /* User agent /* ------------------------------------------------------------- */ this.twapp.use(useragent.express()); /* ------------------------------------------------------------- /* Enable CORS /* ------------------------------------------------------------- */ this.twapp.use(cors()); /* ------------------------------------------------------------- /* Handle sessions /* ------------------------------------------------------------- */ this.twapp.use(session({ secret: "Touchway", resave: false, //unsert: 'destroy', saveUninitialized: true, cookie: { secure: false, expires: false, maxAge: 1000 * 60 * 60 * 24 * 7 } //store TODO: Implement session storage })); this.twapp.setSQLProvider = function (route, callback) { if (route === null) route = "/api"; this.twapp.use(route, callback); }; }; TWWebServer.prototype.setSQLProvider = function (route, callback) { if (route === null) route = "/api"; this.twapp.use(route, callback); }; TWWebServer.prototype.setMailProvider = function (route, provider) { if (route === null) route = "/mail"; this.twapp.use(route, provider); }; TWWebServer.prototype.setAuthenticationProvider = function (route, provider) { if (route === null) route = "/auth"; this.twapp.use(route, provider); }; return TWWebServer; }()); exports.default = new TWWebServer().twapp;