summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-07-01 03:49:12 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2005-07-01 03:49:12 +0000
commitf2a501261f78c12d381f161302768407bcf86d80 (patch)
tree643b62fd52c0ab1efb584863ca1c2bc707ebabf6
parent70db83a8c3e56a821fec46195216bf9cd78d9b6a (diff)
* lib/open-uri.rb (OpenURI.open_http): refine post_connection_check
call. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--lib/open-uri.rb11
2 files changed, 13 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 82089cded1..cdc12c89c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Jul 1 12:44:56 2005 Tanaka Akira <akr@m17n.org>
+
+ * lib/open-uri.rb (OpenURI.open_http): refine post_connection_check
+ call.
+
Fri Jul 1 11:34:08 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
* missing/crypt.c: replaced with 4.4BSD version.
diff --git a/lib/open-uri.rb b/lib/open-uri.rb
index ce96e5b1c9..a5459c25c0 100644
--- a/lib/open-uri.rb
+++ b/lib/open-uri.rb
@@ -243,10 +243,15 @@ module OpenURI
resp = nil
http.start {
- if http.respond_to?(:verify_mode) &&
- (http.verify_mode & OpenSSL::SSL::VERIFY_PEER) != 0
+ if target.class == URI::HTTPS
# xxx: information hiding violation
- http.instance_variable_get(:@socket).io.post_connection_check(target_host)
+ sock = http.instance_variable_get(:@socket)
+ if sock.respond_to?(:io)
+ sock = sock.io # 1.9
+ else
+ sock = sock.instance_variable_get(:@socket) # 1.8
+ end
+ sock.post_connection_check(target_host)
end
req = Net::HTTP::Get.new(request_uri, header)
if options.include? :http_basic_authentication