This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
rack-rewrite / README.rdoc
rack-rewrite
Rack middleware for request rewriting.
Example
use Rack::Rewrite do
on :method => 'get' do
# When it sees /api or /test, it calls whatever is in the act block
#
on :path_info => %r{/(api|test)} do
act { puts "hey way to go!" }
pass
end
# When it sees /google, it makes a redirect to google with the value of the query string as the search
#
on :path_info => %r{/google.*} do
redirect { "http://google.com/search?q=#{CGI.escape(query_string)}" }
end
# If a PATH_INFO starts with /valid_place, it strips it off and keeps on truckin'
#
on :path_info => %r{/valid_place/.*} do
set(:path_info) { path_info[%r{/valid_place(/.*)}, 1] }
pass
end
# If a PATH_INFO starts with /hello_kitty, add a kitty header equal to your query string
#
on :path_info => %r{/hello_kitty/.*} do
act { header['kitty'] = query_string }
pass
end
# If the request has a has a param of kitten=cute or kitten=happy, lets log it and pass it on!
#
on :params => {:kitten => /cute|happy/} do
act { log('what a nice cat') }
pass
end
fail
end
end







