Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@tybenz
Last active August 29, 2015 14:02
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tybenz/d056013f70f039b61c4b to your computer and use it in GitHub Desktop.
Save tybenz/d056013f70f039b61c4b to your computer and use it in GitHub Desktop.
Restify app **before** paper-router. The typical way node server-side apps are written. Single file JS file with server setup and route/action bindings all in one place.
var restify = require('restify');
var BananaModel = require( './models/banana.js' );
var PeelModel = require( './models/peel.js' );
var server = restify.createServer({
name: 'luca',
});
server.use( function crossOrigin( req, res, next ) {
res.header( "Access-Control-Allow-Origin", "*" );
res.header( "Access-Control-Allow-Headers", "X-Requested-With" );
return next();
});
server.use( restify.acceptParser( server.acceptable ) );
server.use( restify.queryParser() );
server.use( restify.bodyParser() );
server.pre( restify.pre.sanitizePath() );
server.get( '/', function( req, res, next ) {
res.send( { message: 'You are home' } );
})
server.get( '/bananas', function( req, res, next ) {
res.send( BananaModel.getAll() );
});
server.post( '/bananas', function( req, res, next ) {
var banana = BananaModel.new({
weight: req.params.weight,
length: req.params.length,
})
.save();
res.send( banana );
});
server.get( '/bananas/:banana_id/peels', function( req, res, next ) {
var peels = PeelModel.where( { banana_id: req.params.banana_id } );
res.send( peels );
});
server.listen( 8000, function() {
console.log( "%s listening at %s", server.name, server.url );
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment