summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiroshi SHIBATA <hsbt@ruby-lang.org>2020-09-24 22:18:13 +0900
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2020-09-24 22:20:02 +0900
commit757e185cee44c627f9e573c926fd73843f81006b (patch)
tree49ce2a8c94981d72ff416cdbe4c903fb0cf8d1e9
parent588ac990ff170e2fb62e7ba0ed52a8088189cdbd (diff)
Revert "[ruby/webrick] Allow empty POST and PUT requests without content length"
This reverts commit ed12019ce6abe87aac87ec77ac081d37b25180a2. https://github.com/ruby/ruby/runs/1160423667?check_suite_focus=true#step:14:752
-rw-r--r--lib/webrick/httprequest.rb2
-rw-r--r--test/webrick/test_httprequest.rb12
2 files changed, 1 insertions, 13 deletions
diff --git a/lib/webrick/httprequest.rb b/lib/webrick/httprequest.rb
index 294bd91a87..c781797092 100644
--- a/lib/webrick/httprequest.rb
+++ b/lib/webrick/httprequest.rb
@@ -522,7 +522,7 @@ module WEBrick
if @remaining_size > 0 && @socket.eof?
raise HTTPStatus::BadRequest, "invalid body size."
end
- elsif BODY_CONTAINABLE_METHODS.member?(@request_method) && !@socket.eof
+ elsif BODY_CONTAINABLE_METHODS.member?(@request_method)
raise HTTPStatus::LengthRequired
end
return @body
diff --git a/test/webrick/test_httprequest.rb b/test/webrick/test_httprequest.rb
index 759ccbdada..a594f14f72 100644
--- a/test/webrick/test_httprequest.rb
+++ b/test/webrick/test_httprequest.rb
@@ -425,18 +425,6 @@ GET /
assert_equal l, msg.size
end
- def test_empty_post
- msg = <<-_end_of_message_
- POST /path?foo=x;foo=y;foo=z;bar=1 HTTP/1.1
- Host: test.ruby-lang.org:8080
- Content-Type: application/x-www-form-urlencoded
-
- _end_of_message_
- req = WEBrick::HTTPRequest.new(WEBrick::Config::HTTP)
- req.parse(StringIO.new(msg.gsub(/^ {6}/, "")))
- req.body
- end
-
def test_bad_messages
param = "foo=1;foo=2;foo=3;bar=x"
msg = <<-_end_of_message_