0.1.4 • Published 9 years ago

nk-router v0.1.4

Weekly downloads
5
License
MIT
Repository
github
Last release
9 years ago

nk-router

NamiKoi url router

NPM

Installation

$ npm install nk-router

Build from src

$ npm run build

or

$ npm install babel -g
$ babel src --out-dir lib

Test

$ npm run test

or

$ npm install mocha -g
$ mocha test

Benchmark

$ npm run bench

Usage

Examples

Base

var nkRouter = require('nk-router'),
    router = nkRouter.router(),
    matched;

router.add('base', nkRouter.route('GET', '/', function() {
    response.end('Hello World!');
}));

matched = router.match('GET', '/');
if (matched === null) {
    console.log('404 Not Found');
} else {
    matched.route.handler();   
}

With http

var http = require('http'),
    nkRouter = require('nk-router'),
    router = nkRouter.router();

router.add('base', nkRouter.route('GET', '/', function(request, response, data) {
    response.end('Hello World!');
}));

http.createServer(function(request, response) {
    var matched = router.matchRequest(request);
    
    if (matched === null) {
        response.statusCode = 404;
        response.end('404 Not Found');
        return;
    }
    matched.route.handler(request, response, matched.data);
}).listen(8888);

API Documentation

nkRouter.route()

Returns a new instance of nkRouter.Route.

nkRouter.router()

Returns a new instance of nkRouter.Router.

nkRouter.methods

  • Array

A list of the supported HTTP methods.

Class: nkRouter.Route

route.constructor(method, path, handler)
  • method String
  • path String
  • handler Function

Parameters sets with : before name.

/post/:id

Parameters can have modifiers: string (default), integer, float.

/post/:id:integer
/post/:id:integer/:title
route.match(method, url)
  • method String
  • url String

Checking if method and url matched. Returns Map of parameters if matched or null.

route.getUrl(parameters)
  • parameters Object // Map is depricated

Generating url from route. Returns url String if all parameters are set or null.

Class: nkRouter.Router

router.add(key, route)
  • key String
  • route nkRouter.Route

Adding named route in router. Key must be unique.

router.route(key)
  • key String

Finding nkRouter.Route by unique key. Returns instance of nkRouter.Route if key found or null.

router.match(method, url)
  • method String
  • url String

Checking if any nkRouter.Route matched. Returns Map of parameters if matched or null.

router.matchRequest(request)
  • request http.ClientRequest

Calling router.match with parameters from http.ClientRequest.

router.getUrl(key , parameters)
  • parameters Object // Map is depricated

Finding nkRouter.Route by unique key and getting url from it. Returns url String if found or null.

License

MIT

0.1.4

9 years ago

0.1.3

9 years ago

0.1.2

9 years ago

0.1.0

9 years ago

0.0.3

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago