0.1.4 • Published 10 years ago

nk-router v0.1.4

Weekly downloads
5
License
MIT
Repository
github
Last release
10 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

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.0

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago