From 2b6a9f3a1ffcdb00bf89798979d475c6d189d419 Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Thu, 20 Jun 2019 12:59:29 -0700 Subject: Ignore Errno::EPIPE when sending requests in net/http An EPIPE when sending the request should be ignored. Even if you cannot write more data, you may still be able to read the server's response. Fixes [Bug #14466] --- test/net/http/test_http.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'test/net') diff --git a/test/net/http/test_http.rb b/test/net/http/test_http.rb index b5c4463544..f648ce5ae9 100644 --- a/test/net/http/test_http.rb +++ b/test/net/http/test_http.rb @@ -890,6 +890,17 @@ class TestNetHTTP_v1_2 < Test::Unit::TestCase Net::HTTP.version_1_2 super end + + def test_send_large_POST_request + start {|http| + data = ' '*6000000 + res = http.send_request('POST', '/', data, 'content-type' => 'application/x-www-form-urlencoded') + assert_kind_of Net::HTTPResponse, res + assert_kind_of String, res.body + assert_equal data.size, res.body.size + assert_equal data, res.body + } + end end class TestNetHTTP_v1_2_chunked < Test::Unit::TestCase -- cgit v1.2.3