Fixed a problem with request.accept and provides.
This commit is contained in:
parent
b5bc740c12
commit
77092a88c8
|
@ -26,7 +26,7 @@ module Sinatra
|
|||
class Request < Rack::Request
|
||||
# Returns an array of acceptable media types for the response
|
||||
def accept
|
||||
@env['HTTP_ACCEPT'].to_s.split(',').map { |a| a.strip }
|
||||
@env['HTTP_ACCEPT'].to_s.split(',').map { |a| a.split(';')[0].strip }
|
||||
end
|
||||
|
||||
def secure?
|
||||
|
|
|
@ -595,6 +595,9 @@ class RoutingTest < Test::Unit::TestCase
|
|||
get '/', :provides => :xml do
|
||||
request.env['HTTP_ACCEPT']
|
||||
end
|
||||
get '/foo', :provides => :html do
|
||||
request.env['HTTP_ACCEPT']
|
||||
end
|
||||
}
|
||||
|
||||
get '/', {}, { 'HTTP_ACCEPT' => 'application/xml' }
|
||||
|
@ -604,6 +607,13 @@ class RoutingTest < Test::Unit::TestCase
|
|||
|
||||
get '/', {}, { :accept => 'text/html' }
|
||||
assert !ok?
|
||||
|
||||
get '/foo', {}, { 'HTTP_ACCEPT' => 'text/html;q=0.9' }
|
||||
assert ok?
|
||||
assert_equal 'text/html;q=0.9', body
|
||||
|
||||
get '/foo', {}, { 'HTTP_ACCEPT' => '' }
|
||||
assert !ok?
|
||||
end
|
||||
|
||||
it "allows multiple mime types for accept header" do
|
||||
|
|
Loading…
Reference in New Issue