JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q37645F
  • License MIT

HTTP/HTTPS request router for node.js web applications.

Package Exports

  • request-router

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (request-router) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

request-router

A router for HTTP/HTTPS request.

Installation

npm install request-router

How to use

var router = require('request-router');

var uri = '/aaa/bbb';
var routed = router(uri);
/*
{
    "uri": "/aaa/bbb"
    "controller": "aaa",
    "method": "bbb",
    "params": [],
    "mappedParams": {}
}
*/
var uri2 = '/ccc/ddd/111/222/333';
var routed2 = router(uri2);
/*
{
    "uri": "/aaa/bbb"
    "controller": "aaa",
    "method": "bbb",
    "params": [111, 222, 333],
    "mappedParams": {}
}
*/

Rerouting

var router = reqiure('request-router');

router.setReroutes({
    '/reroute/me': 'routed/you'
});

var routed = router.parse('/reroute/me');
/*
{
    "uri": "/routed/you",
    "controller": "routed",
    "method": "you",
    "params": [],
    "mappedParams": {}
}
*/

Predefined Paramter Map

request-router module allows you to predefine request paramters as a map for each request URI.

Example 1:

var router = require('request-router');

router.mapParams('/myController/myMethod/myParam1/myParam2');
// the above code defines the parameters for the request URI /myController/myMethod with.
// the parsed parameters will be named as myParam1 and myParam2.

// parsing the in-coming request URI
var parsed = router.parse('myController/myMethod/AAA/BBB');
/* parsed routed object
{
    controller: 'myController',
    method: 'myMethod',
    params: [
        'AAA',
        'BBB'
    ],
    mappedParams: {
        myParam1: 'AAA',
        myParam2: 'BBB'
    }
}
*/

Example 2:

var router = require('request-router');

router.mapParams('/myController/myMethod/myParam1/myParam2');

// parsing the in-coming request URI
var parsed = router.parse('myController/myMethod/AAA');
/* parsed routed object
{
    controller: 'myController',
    method: 'myMethod',
    params: [
        'AAA'
    ],
    mappedParams: {
        myParam1: 'AAA'
    }
}
*/

Example 3:

var router = require('request-router');

router.mapParams('/myController/myMethod/myParam1');

// parsing the in-coming request URI
var parsed = router.parse('myController/myMethod/AAA/BBB/CCC');
/* parsed routed object
{
    controller: 'myController',
    method: 'myMethod',
    params: [
        'AAA',
        'BBB',
        'CCC'
    ],
    mappedParams: {
        myParam1: 'AAA'
    }
}
*/

APIs

.mapParams(paramterMapDefinitionURI [string])

Predefines parameters as a map for a request URI.

.setReroutes(rerouteRules [object])

Sets rerouting rules.

.parse(uri [string])

Parses the given URI and returns an object.

Test

make test