Socket
Socket
Sign inDemoInstall

express-request-checker

Package Overview
Dependencies
0
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    express-request-checker

Express request checker extension.


Version published
Maintainers
1
Install size
23.5 kB
Created

Readme

Source

express-request-checker

Create request checker middleware with options for Express.

with express-request-checker, checking HTTP request's query or body will be more easy and readable. All the works is just require express-request-checker in router.js which belong to an Express project and config it. So it's no need to modify any other source file.

Quick Example(Javascript):

// router.js

var express          = require('express');
var reqCheckerModule = require('express-request-checker');

var reqChecker = reqCheckerModule.requestChecker;
var router = express.Router();

var options = {
  scope: 'query', // Check scope. ('query'|'body', DEFAULT: 'query')
  strict: false,  // Allow unexpected parameter. (true|false, DEFAULT: true)
  params: {       // Paramters.
    'param1': {
      matchRegExp: /^[0-9]{1}$/
    },
    'param2': {
      isIn: [1, 2, 3],
      isOptional: true    // Optional parameter. (true|false, DEFAULT: false)
    }
  }
};
router.get('/path', reqChecker(options), handlerFunction);

module.exports = router;

Quick Example(CoffeeScript):

# router.coffee

express          = require 'express'
reqCheckerModule = require 'express-request-checker'

reqChecker = reqCheckerModule.requestChecker
router = express.Router()

options =
  scope: 'query' # Check scope. ('query'|'body', DEFAULT: 'query')
  strict: false  # Allow unexpected parameter. (true|false, DEFAULT: true)
  params:        # Paramters.
    'param1':
      matchRegExp: /^[0-9]{1}$/
    'param2':
      isIn: [1, 2, 3]
      isOptional: true    # Optional parameter. (true|false, DEFAULT: false)
router.get '/path', reqChecker(options), handlerFunction

module.exports = router

Parameter Options

assertTrue

A function which use parameter in request as its argument, or an array of such functions.
If the function return true, check OK. Otherwise, check error.

Example:

option = {
  params: {
    param1: {
      assertTrue: [function(value) { return value > 10; }]
    }
  }
}
assertFalse

Opposite to assertTrue.

matchRegExp

A RegExp or an array of RegExps.
If the RegExp test result is true, check OK. Otherwise, check error.

Example:

option = {
  params: {
    param1: {
      matchRegExp: [/^[012]{1}$/, /^[234]{1}$/]
    }
  }
}
isIn

A array which are allowed values of parameter in request.
if the value of parameter in request equals to any element in array, check OK. Otherwise, check error.

Example:

option = {
  params: {
    param1: {
      isIn: [1, 2, 3]
    }
  }
}
notIn

Opposite to isIn.

isInteger

true or false.
when setted true, the parameter in request must be an integer.
when setted false , the parameter in request must NOT be an integer.

Example:

option = {
  params: {
    param1: {
      isInteger: true
    }
  }
}
max

integer. the parameter in request must be equal or less then max.

Example:

option = {
  params: {
    param1: {
      max: 100
    }
  }
}
min

Opposite to max.

Install:

npm install express-request-checker

Test:

cd node_modules/express-request-checker
npm test

License

MIT

Keywords

FAQs

Last updated on 28 Jan 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc