0.1.0 • Published 6 years ago

express-parameter-middleware v0.1.0

Weekly downloads
1
License
ISC
Repository
github
Last release
6 years ago

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 default
    • String
    • Number
    • Boolean
    • Symbol
    • null
    • Date
    • Object
    • undefined
    • 'any'
    • Array
  • validator: array of possible validators
    • Validator.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 default
    • true
    • false

CheckParameter options

  • CheckParam: checks the params in the request
  • CheckQueryParam: checks the query params in the request