@touchway/touchway-express-server
Version:
75 lines (74 loc) • 3.03 kB
JavaScript
;
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;