mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/net/http/generic_request.rb (Net::HTTP::GenericRequest#exec):
handle req['host'] in update_uri. * lib/net/http/generic_request.rb (Net::HTTP::GenericRequest#update_uri): use req['host'] if it is explicitly set. Even if URI is given, it is already used for the initial value of req['host']. Therefore overwritten value should be respected. [Bug #10054] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c165203564
commit
70a2eb6399
3 changed files with 15 additions and 13 deletions
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
||||||
|
Wed Aug 6 03:18:04 2014 NARUSE, Yui <naruse@ruby-lang.org>
|
||||||
|
|
||||||
|
* lib/net/http/generic_request.rb (Net::HTTP::GenericRequest#exec):
|
||||||
|
handle req['host'] in update_uri.
|
||||||
|
|
||||||
|
* lib/net/http/generic_request.rb
|
||||||
|
(Net::HTTP::GenericRequest#update_uri):
|
||||||
|
use req['host'] if it is explicitly set. Even if URI is given,
|
||||||
|
it is already used for the initial value of req['host'].
|
||||||
|
Therefore overwritten value should be respected. [Bug #10054]
|
||||||
|
|
||||||
Wed Aug 6 03:17:34 2014 NARUSE, Yui <naruse@ruby-lang.org>
|
Wed Aug 6 03:17:34 2014 NARUSE, Yui <naruse@ruby-lang.org>
|
||||||
|
|
||||||
* lib/net/http/generic_request.rb
|
* lib/net/http/generic_request.rb
|
||||||
|
|
|
@ -116,15 +116,6 @@ class Net::HTTPGenericRequest
|
||||||
#
|
#
|
||||||
|
|
||||||
def exec(sock, ver, path) #:nodoc: internal use only
|
def exec(sock, ver, path) #:nodoc: internal use only
|
||||||
if @uri
|
|
||||||
if @uri.port == @uri.default_port
|
|
||||||
# [Bug #7650] Amazon ECS API and GFE/1.3 disallow extra default port number
|
|
||||||
self['host'] = @uri.host
|
|
||||||
else
|
|
||||||
self['host'] = "#{@uri.host}:#{@uri.port}"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if @body
|
if @body
|
||||||
send_request_with_body sock, ver, path, @body
|
send_request_with_body sock, ver, path, @body
|
||||||
elsif @body_stream
|
elsif @body_stream
|
||||||
|
@ -148,9 +139,9 @@ class Net::HTTPGenericRequest
|
||||||
klass = URI::HTTP
|
klass = URI::HTTP
|
||||||
end
|
end
|
||||||
|
|
||||||
if host = @uri.host
|
if host = self['host']
|
||||||
elsif host = self['host']
|
|
||||||
host.sub!(/:.*/s, ''.freeze)
|
host.sub!(/:.*/s, ''.freeze)
|
||||||
|
elsif host = @uri.host
|
||||||
else
|
else
|
||||||
host = addr
|
host = addr
|
||||||
end
|
end
|
||||||
|
|
|
@ -563,10 +563,10 @@ module TestNetHTTP_version_1_2_methods
|
||||||
end
|
end
|
||||||
|
|
||||||
def _test_request__uri_host(http)
|
def _test_request__uri_host(http)
|
||||||
uri = URI 'http://example/'
|
uri = URI 'http://other.example/'
|
||||||
|
|
||||||
req = Net::HTTP::Get.new(uri)
|
req = Net::HTTP::Get.new(uri)
|
||||||
req['host'] = 'other.example'
|
req['host'] = 'example'
|
||||||
|
|
||||||
res = http.request(req)
|
res = http.request(req)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue