biggie-router
v1.2.0
Published
A lightweight extensible HTTP router
Downloads
22
Readme
Biggie-router is a high performance, extendable router for use in frameworks and applications. It draws inspiration from several popular open source frameworks and libraries, such as jQuery and Sinatra.
License
Biggie-router is released under MIT, in hope you find this software useful.
Installing it
The fastest way to get started with biggie-router is to install it via npm.
$ npm install biggie-router
Otherwise git clone
, or download the repository and place the contents of the
lib
directory where needed.
Usage
Here are a few basic examples.
Hello world, that listens on port 8080:
var http = require('http')
var Router = require('biggie-router');
var server = http.createServer()
var router = new Router(server);
router.bind(function (request, response, next) {
next.sendBody(200, "Hello World!");
});
server.listen(8080);
Basic routing + chaining. Responds with hello world on root and /index.html
get requests.
Requests that fall through (don't match any conditions) get passed to the next route and are sent a 404.
var Router = require('biggie-router');
var router = new Router();
router.get('/').get('/index.html')
.bind(function (request, response, next) {
next.sendBody(200, "Hello World!");
});
router.bind(function (request, response, next) {
next.sendBody(404, 'Resource "' + request.url + '" not found.');
});
router.listen(8080);
Modules are functions that return a function, enabling you to do per-route
setup. No modules are supplied with biggie-router, however middleware use the
same pattern as connect (or express); so generic connect middleware should also
be compatible with biggie. The npm middleware
module is also compatible.
Usage is as follows:
var middleware = require('middleware');
router.get('/').bind(middleware.sendfile('public/'));
router.post('/users').bind(api('users', 'create'));