Sha256: 8ef5da0286eea17d3378005bc4fe9179569a06f3b0598e910cf0d36c2959cd46
Contents?: true
Size: 1.37 KB
Versions: 26
Compression:
Stored size: 1.37 KB
Contents
## Rest The _router_ middleware provides a routing API similar to that of Sinatra and Express. function user(app) { app.get('/users/(all.:format?)?', function(req, res){ // populates req.format // ex: // GET /users // GET /users/all // GET /users/all.json // GET /users/all.xml }); app.get('/users/:id.:format?': function(req, res){ // populates req.format // populates params.id // ex: // GET /user/5 // GET /user/5.json // GET /user/5.xml }); app.put('/user/:id', function(req, res, params){ // populates params.id // ex: // PUT /user/2 }); app.del('/user/:id/file/*', function(req, res, params){ // populates params.id // populates params.splat[0] // ex: // PUT /user/4/file/javascripts/jquery.js // PUT /user/4/file/stylecss }); } function commits(app) { // RegExps too! app.get(/\/commit\/(\w+)\.\.(\w+)\/?/i, function(req, res, params){ // populates params.splat[0] with first capture group // populates params.splat[1] with second capture group // ex: // GET /commit/kj4k..d3sdf }); } connect.createServer( connect.router(user), connect.router(commits), ); Those of you looking for _PUT_ and _DELETE_ support may want to take a look at the _methodOverride_ middleware. ### See Also * methodOverride
Version data entries
26 entries across 26 versions & 1 rubygems