0.2.2 • Published 10 years ago

request-router v0.2.2

Weekly downloads
1
License
MIT
Repository
-
Last release
10 years ago

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

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

11 years ago

0.1.3

11 years ago

0.1.2

11 years ago

0.1.1

11 years ago

0.1.0

11 years ago