summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/open-uri.rb11
1 files changed, 8 insertions, 3 deletions
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