Method: Roda::RodaPlugins::Base::RequestMethods#root
- Defined in:
- lib/roda/request.rb
#root(&block) ⇒ Object
Match method that only matches GET requests where the current path is /. If it matches, the match block is executed, and when the match block returns, the rack response is returned.
[r.request_method, r.remaining_path]
# => ['GET', '/']
r.root do
# matches
end
This is usuable inside other match blocks:
[r.request_method, r.remaining_path]
# => ['GET', '/foo/']
r.on 'foo' do
r.root do
# matches
end
end
Note that this does not match non-GET requests:
[r.request_method, r.remaining_path]
# => ['POST', '/']
r.root do
# does not match
end
Use r.post "" for POST requests where the current path is /.
Nor does it match empty paths:
[r.request_method, r.remaining_path]
# => ['GET', '/foo']
r.on 'foo' do
r.root do
# does not match
end
end
Use r.get true to handle GET requests where the current path is empty.
367 368 369 370 371 |
# File 'lib/roda/request.rb', line 367 def root(&block) if @remaining_path == "/" && is_get? always(&block) end end |