File tree Expand file tree Collapse file tree 3 files changed +12
-1
lines changed
Expand file tree Collapse file tree 3 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -11,7 +11,7 @@ source 'https://rubygems.org' unless ENV['QUICK']
1111gemspec
1212
1313gem 'rake'
14- gem 'rack' , git : 'https://github.com/rack/rack.git '
14+ gem 'rack' , '~> 2.0 '
1515gem 'rack-test' , '>= 0.6.2'
1616gem "minitest" , "~> 5.0"
1717gem 'yard'
Original file line number Diff line number Diff line change @@ -78,6 +78,8 @@ def params
7878 super
7979 rescue Rack ::Utils ::ParameterTypeError , Rack ::Utils ::InvalidParameterError => e
8080 raise BadRequest , "Invalid query parameters: #{ Rack ::Utils . escape_html ( e . message ) } "
81+ rescue EOFError => e
82+ raise BadRequest , "Invalid multipart/form-data: #{ Rack ::Utils . escape_html ( e . message ) } "
8183 end
8284
8385 class AcceptEntry
Original file line number Diff line number Diff line change @@ -17,6 +17,15 @@ class RequestTest < Minitest::Test
1717 assert_equal 'bar' , request . params [ 'foo' ]
1818 end
1919
20+ it 'raises Sinatra::BadRequest when multipart/form-data request has no content' do
21+ request = Sinatra ::Request . new (
22+ 'REQUEST_METHOD' => 'POST' ,
23+ 'CONTENT_TYPE' => 'multipart/form-data; boundary=dummy' ,
24+ 'rack.input' => StringIO . new ( '' )
25+ )
26+ assert_raises ( Sinatra ::BadRequest ) { request . params }
27+ end
28+
2029 it 'is secure when the url scheme is https' do
2130 request = Sinatra ::Request . new ( 'rack.url_scheme' => 'https' )
2231 assert request . secure?
You can’t perform that action at this time.
0 commit comments