MonoForge

zachhale / request_routing

request_routing

Public

Some improvements for greater control of routes. I no longer use this because subdomain_fu does the job better and is actively mantained.

8 filesupdated Jun 18, 2026

README

Request Routing Plugin for Ruby on Rails

(c) Dan Webb 2006 (dan@vivabit.com)

Plugin that allows you to define routing conditions that test methods/properties of the request object such as subdomain, domain, port. You can test them either against a value or with a Regexp (assuming the method returns a string)

UPDATE Now works with the new routing code as implemented in edge rails. Note the change in API: use :conditions instead of :requirements.

== Installation

ruby script/plugin install http://svn.vivabit.net/external/rubylibs/request_routing/

== Usage

In routes.rb you can specify use the :requirements hash with request properties:

map.connect '', :controller => 'main', :conditions => { :subdomain => 'www' }

map.connect 'admin', :controller => 'admin', :conditions => { :remote_ip => /^127\.0\.0\.[0-9]$/ }

You can also, of course, use the conditions hash in map.with_options calls.

The allowed properties are:

	:subdomain  (only checks the first subdomain)
	:domain (only accurate for single tld domain names at the moment)
	:method (a symbol)
	:port (a number)
	:remote_ip 
	:content_type (content type of the post body)
	:accepts 
	:request_uri (the entire request uri)
	:protocol (either http:// or https://)