0.1.0 • Published 6 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 --save
Importing 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=10
or:
app.get('/:limit/:offset', LimitAndOffset.CheckParam, function (req, res) {
res.status(200).send('ok');
});
http://example.com/10/10
Custom 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 defaultString
Number
Boolean
Symbol
null
Date
Object
undefined
'any'
Array
validator
: array of possible validatorsValidator.Base64
Validator.DateTime
Validator.Email
Validator.Number
Validator.String
Validator.TextOnly
(only text, no numbers)Validator.{YourCustomValidator}
(This is a self made validator, see Custom Validator)
required
: false by defaulttrue
false
CheckParameter options
CheckParam
: checks the params in the requestCheckQueryParam
: checks the query params in the request