Router
A lean and mean web router for node.js.
It is available through npm:
npm install router
The router routes using the method and a .net inspired pattern
var router = require('router');
var server = router();
server.get('/', function(request, response) {
response.writeHead(200);
response.end('hello index page');
});
server.listen(8080);
If you want to grap a part of the path you can use capture groups in the pattern:
server.get('/{base}', function(request, response) {
var base = request.params.base;
});
The capture patterns matches until the next /
or character present after the group
server.get('/{x}x{y}', function(request, response) {
});
Optional patterns are supported by adding a ?
at the end
server.get('/{prefix}?/{top}', function(request, response) {
});
If you want to just match everything you can use a wildcard *
which works like unix wildcards
server.get('/{prefix}/*', function(request, response) {
});
If the standard capture groups aren't expressive enough for you can specify an optional inline regex
server.get('/{digits}([0-9]+)', function(request, response) {
});
You can also use regular expressions and the related capture groups instead:
server.get(/^\/foo\/(\w+)/, function(request, response) {
var group = request.params[1];
});
Besides get
the avaiable methods are options
, post
, put
, head
, del
, all
and upgrade
.
all
matches all the standard http methods and upgrade
is usually used for websockets.