0.1.0 • Published 8 years ago
express-parameter-middleware v0.1.0
Express Query Parameter Middleware
This is a tool to use as a middleware to check the (query) parameter input from an HTTP request in express.
How to use
Install query parameter middleware
npm install express-parameter-middleware --saveImporting the express parameter middleware into your project
You need different imports to use this middleware. We recommend you use different variables.
const EPM = require('express-parameter-middleware');
const Parameter = EPM.Parameter;
const CheckParameters = EPM.CheckParameters;
const Validators = EPM.Validators;Using the middleware
First using the middleware, initialise each parameter you wish to check. This allows you to create an_array_of objects (with each object representing a parameter)
const Parameters = [
new Parameter(
"limit",
Number,
[Validators.Number],
true
),
new Parameter(
"offset",
Number,
[Validators.Number],
true
)
];Then create a new object of the CheckParameters class and insert the Parameters as property:
const LimitAndOffset = new CheckParameters(Parameters);After this step, you are ready to use it as middleware. Just enter the kind of Check you want to do. done.
app.get('/', LimitAndOffset.CheckQueryParam, function (req, res) {
res.status(200).send('ok');
});http://example.com/?limit=10&offset=10or:
app.get('/:limit/:offset', LimitAndOffset.CheckParam, function (req, res) {
res.status(200).send('ok');
});http://example.com/10/10Custom Validator
You can initialinize your own Validators:
CustomValidator(/regular expression/ , 'Name');By example:
CustomValidator(/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/ , 'IP');You can use this Validator as you would any other
Validator.IP
API
Parameter options
name: No default value, any clean string;type: undefined as defaultStringNumberBooleanSymbolnullDateObjectundefined'any'Array
validator: array of possible validatorsValidator.Base64Validator.DateTimeValidator.EmailValidator.NumberValidator.StringValidator.TextOnly(only text, no numbers)Validator.{YourCustomValidator}(This is a self made validator, see Custom Validator)
required: false by defaulttruefalse
CheckParameter options
CheckParam: checks the params in the requestCheckQueryParam: checks the query params in the request