Skip to content
The router as part of the biggie framework
JavaScript
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
test
README.md
index.js
package.json

README.md

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 Router = require('biggie-router');
var router = new Router();

router.bind(function (request, response, next) {
  response.sendBody(200, "Hello World!");
});

router.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) {
  response.sendBody(200, "Hello World!");
});

router.bind(function (request, response, next) {
  response.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'));
Something went wrong with that request. Please try again.