Stackable dynamic tree based Rack router
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib/rack
performance
test
MIT-LICENSE
README.rdoc
Rakefile

README.rdoc

Rack::Mount

A stackable dynamic tree based Rack router.

Rack::Mount supports Rack's Cascade style of trying several routes until it finds one that is not a 404. This allows multiple routes to be nested or stacked on top of each other. Since the application endpoint can trigger the router to continue matching, middleware can be used to add arbitrary conditions to any route. This allows you to route based on other request attributes, session information, or even data dynamically pulled pulled from a database.

Usage

Currently, Rack::Mount supports the classic Rails router mapping API. (Support is planned for the Merb router API and the new Rails 3.0 API)

require 'rack/mount'
Routes = Rack::Mount::RouteSet.new

Routes.draw do |map|
  map.connect 'products', :app => ListProducts
  map.connect 'products/:id', :app => ShowProduct
end

run Routes