kamboja-express
Version:
KambojaJS engine implementation using ExpressJs
64 lines (63 loc) • 2.34 kB
JavaScript
"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;