From 008c7b108ba6eba727511fd9b03e9b8f8f69b38f Mon Sep 17 00:00:00 2001 From: naruse Date: Fri, 16 Jan 2015 07:50:04 +0000 Subject: [PATCH] merge revision(s) 49104,49105: [Backport #10692] * test/net/http/test_http.rb (_test_send_request__HEAD): Added failing test for send_request with HEAD method. * lib/net/http.rb (Net::HTTP#send_request): there is no response body with HEAD request. Patch by @rodrigosaito [fix GH-520] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@49278 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 10 ++++++++++ lib/net/http.rb | 3 ++- test/net/http/test_http.rb | 11 +++++++++++ version.h | 2 +- 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 46514e3a64..afffc2421a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Fri Jan 16 16:49:04 2015 SHIBATA Hiroshi + + * lib/net/http.rb (Net::HTTP#send_request): there is no response body + with HEAD request. Patch by @rodrigosaito [fix GH-520] + +Fri Jan 16 16:49:04 2015 SHIBATA Hiroshi + + * test/net/http/test_http.rb (_test_send_request__HEAD): Added + failing test for send_request with HEAD method. + Fri Jan 16 14:56:08 2015 Eric Wong * symbol.c (rb_gc_free_dsymbol): delete from global fstr hash diff --git a/lib/net/http.rb b/lib/net/http.rb index 957cb358b2..03823ae735 100644 --- a/lib/net/http.rb +++ b/lib/net/http.rb @@ -1350,7 +1350,8 @@ module Net #:nodoc: # puts response.body # def send_request(name, path, data = nil, header = nil) - r = HTTPGenericRequest.new(name,(data ? true : false),true,path,header) + has_response_body = name != 'HEAD' + r = HTTPGenericRequest.new(name,(data ? true : false),has_response_body,path,header) request r, data end diff --git a/test/net/http/test_http.rb b/test/net/http/test_http.rb index 2cd883da79..9d5cf3972b 100644 --- a/test/net/http/test_http.rb +++ b/test/net/http/test_http.rb @@ -578,6 +578,7 @@ module TestNetHTTP_version_1_2_methods def test_send_request start {|http| _test_send_request__GET http + _test_send_request__HEAD http _test_send_request__POST http } end @@ -592,6 +593,16 @@ module TestNetHTTP_version_1_2_methods assert_equal $test_net_http_data, res.body end + def _test_send_request__HEAD(http) + res = http.send_request('HEAD', '/') + assert_kind_of Net::HTTPResponse, res + unless self.is_a?(TestNetHTTP_v1_2_chunked) + assert_not_nil res['content-length'] + assert_equal $test_net_http_data.size, res['content-length'].to_i + end + assert_nil res.body + end + def _test_send_request__POST(http) data = 'aaabbb cc ddddddddddd lkjoiu4j3qlkuoa' res = http.send_request('POST', '/', data, 'content-type' => 'application/x-www-form-urlencoded') diff --git a/version.h b/version.h index 070c783abd..d248fb4ccc 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.2.0" #define RUBY_RELEASE_DATE "2015-01-16" -#define RUBY_PATCHLEVEL 11 +#define RUBY_PATCHLEVEL 12 #define RUBY_RELEASE_YEAR 2015 #define RUBY_RELEASE_MONTH 1