UNPKG

silentjs

Version:
60 lines (46 loc) 1.4 kB
var lodash = require('lodash'); var getValues = function (keys, parameters) { var values = {}; var key; if (lodash.isArray(keys)) { lodash.each(keys, function (key) { values[key] = parameters[key]; }); } else { key = keys; values = parameters[key]; } return values; }; var Request = function (request) { this.request = request; }; Request.prototype.getRequestData = function () { var request = this.request; var query = request.query; var parameters = request.params; var body = request.body; return lodash.extend({}, query, parameters, body); }; Request.prototype.getParameters = function (keys) { return getValues(keys, this.request.params); }; Request.prototype.getQueryValues = function (keys) { return getValues(keys, this.request.query); }; Request.prototype.getHeaderValues = function (keys) { return getValues(keys, this.request.headers); }; Request.prototype.getData = function (keys) { return getValues(keys, this.request.body); }; Request.prototype.getToken = function () { return this.getData('token') || this.getQueryValues('token') || this.getHeaderValues('x-access-token'); }; Request.prototype.get = function (attr) { return this.request[attr]; }; Request.prototype.set = function (attr, value) { this.request[attr] = value; }; module.exports = Request;