node package manager
Stop writing boring code. Discover, share, and reuse within your team. Create a free org ยป


Breakout - API Transport Abstraction

Breakout tives you one simple way to write an API across transports using NodeJS. For instance, you can write one route and one handler function and have it automatically exposed via a json http api and via the NowJS everyone pocket.

Out of the Box

Out of the box you get support for an http json api via Express and a NowJS api. In your configuration simply pass in your instances for each, e.g.

var express = require('express')
  , routes = require('./routes')
var app = module.exports = express.createServer();

var now = require('now');
var everyone = now.initialize(app);

var breakout = require('breakout');
breakout.use('http', app).use('now', everyone);

Defining You API'', function( args, respond ){
  console.log( args );
  respond( { donkey: true } );
});'', function( args, respond ){
  console.log( args );
  respond( { donkey: false } );

Server-side Handler Signature

	function( data, respond ){
		// manipulate data
		data  = 'wee';
		// call responder with response	
		respond( myResponse );


  • be able to handle http route params
  • ability to generate resourceful routes for models