UNPKG

kamboja-express

Version:

KambojaJS engine implementation using ExpressJs

64 lines (63 loc) 2.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var Lodash = require("lodash"); var Url = require("url"); var RequestAdapter = (function () { function RequestAdapter(request) { this.request = request; this.contextType = "HttpRequest"; this.headers = request.headers; this.cookies = request.cookies; this.params = Lodash.assign(request.params, request.query); this.body = request.body; this.httpVersion = request.httpVersion; this.httpMethod = request.method; if (request && request.originalUrl) this.url = Url.parse(request.originalUrl); this.referrer = request.header("referrer"); this.user = request.user; this.route = request.route; } RequestAdapter.prototype.update = function (request) { this.headers = Lodash.assign(this.headers, request.headers); this.cookies = Lodash.assign(this.cookies, request.cookies); this.user = request.user; this.request = request; }; RequestAdapter.prototype.findCaseInsensitive = function (obj, key) { if (!obj) return; var keys = Object.keys(obj); for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) { var item = keys_1[_i]; if (item.toLowerCase() == key.toLowerCase()) return obj[item]; } }; RequestAdapter.prototype.getHeader = function (key) { return this.findCaseInsensitive(this.headers, key); }; RequestAdapter.prototype.getCookie = function (key) { return this.findCaseInsensitive(this.cookies, key); }; RequestAdapter.prototype.getParam = function (key) { return this.findCaseInsensitive(this.params, key); }; RequestAdapter.prototype.getAccepts = function (key) { if (Array.isArray(key)) return this.request.accepts(key); else return this.request.accepts(key); }; RequestAdapter.prototype.isAuthenticated = function () { return this.request.isAuthenticated(); }; RequestAdapter.prototype.getUserRole = function () { if (this.user) return this.user.role; else return undefined; }; return RequestAdapter; }()); exports.RequestAdapter = RequestAdapter;