* lib/open-uri.rb (URI::HTTP#proxy_open): set Host: field explicitly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2004-04-21 11:11:40 +00:00
parent 51ef45c6f3
commit 317547dc5d
2 changed files with 19 additions and 5 deletions

View File

@ -1,3 +1,7 @@
Wed Apr 21 20:05:00 2004 Tanaka Akira <akr@m17n.org>
* lib/open-uri.rb (URI::HTTP#proxy_open): set Host: field explicitly.
Wed Apr 21 18:39:46 2004 Minero Aoki <aamine@loveruby.net>
* lib/net/smtp.rb: merge SMTP-TLS patch. This patch is
@ -465,7 +469,7 @@ Sun Mar 28 14:09:13 2004 Minero Aoki <aamine@loveruby.net>
Sat Mar 27 21:40:41 2004 Tanaka Akira <akr@m17n.org>
* (lib/open-uri.rb): permit extra semicolon in content-type field.
* lib/open-uri.rb: permit extra semicolon in content-type field.
Sat Mar 27 10:40:48 2004 Tanaka Akira <akr@m17n.org>

View File

@ -529,6 +529,16 @@ module URI
header = {}
options.each {|k, v| header[k] = v if String === k }
if uri.respond_to? :host
# According to RFC2616 14.23, Host: request-header field should be set
# an origin server.
# But net/http wrongly set a proxy server if an absolute URI is
# specified as a request URI.
# So open-uri override it here explicitly.
header['host'] = uri.host
header['host'] += ":#{uri.port}" if uri.port
end
require 'net/http'
resp = nil
Net::HTTP.start(self.host, self.port) {|http|