Treat missing User Agent like an empty User Agent. Fixes #164.
This commit is contained in:
parent
a28ed5076c
commit
c1eb806bbb
|
@ -990,7 +990,7 @@ module Sinatra
|
||||||
# Will set params[:agent].
|
# Will set params[:agent].
|
||||||
def user_agent(pattern)
|
def user_agent(pattern)
|
||||||
condition do
|
condition do
|
||||||
if request.user_agent =~ pattern
|
if request.user_agent.to_s =~ pattern
|
||||||
@params[:agent] = $~[1..-1]
|
@params[:agent] = $~[1..-1]
|
||||||
true
|
true
|
||||||
else
|
else
|
||||||
|
|
|
@ -611,6 +611,18 @@ class RoutingTest < Test::Unit::TestCase
|
||||||
assert_equal 'Hello World', body
|
assert_equal 'Hello World', body
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "treats missing user agent like an empty string" do
|
||||||
|
mock_app do
|
||||||
|
user_agent(/.*/)
|
||||||
|
get '/' do
|
||||||
|
"Hello World"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
get '/'
|
||||||
|
assert_equal 200, status
|
||||||
|
assert_equal 'Hello World', body
|
||||||
|
end
|
||||||
|
|
||||||
it "makes captures in user agent pattern available in params[:agent]" do
|
it "makes captures in user agent pattern available in params[:agent]" do
|
||||||
mock_app {
|
mock_app {
|
||||||
user_agent(/Foo (.*)/)
|
user_agent(/Foo (.*)/)
|
||||||
|
|
Loading…
Reference in New Issue