aboutsummaryrefslogtreecommitdiffstats
path: root/lib/net/http.rb
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-01-08 12:17:15 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-01-08 12:17:15 +0000
commite0cdab5fff0e57bdea2cb3237e5031dd69fbada5 (patch)
treedcfe1f446158c38f056cec73a95efaa9fca2c87d /lib/net/http.rb
parentef6e53635ab580214694a72f60133452f66a8827 (diff)
downloadruby-e0cdab5fff0e57bdea2cb3237e5031dd69fbada5.tar.gz
* lib/net/http, lib/net/https: move content from net/https to
net/http. [ruby-dev:39986] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/net/http.rb')
-rw-r--r--lib/net/http.rb29
1 files changed, 28 insertions, 1 deletions
diff --git a/lib/net/http.rb b/lib/net/http.rb
index fb8a3cc08b..e0d35e598d 100644
--- a/lib/net/http.rb
+++ b/lib/net/http.rb
@@ -26,6 +26,7 @@
#++
require 'net/protocol'
+autoload :OpenSSL, 'openssl'
require 'uri'
module Net #:nodoc:
@@ -544,7 +545,33 @@ module Net #:nodoc:
# returns true if use SSL/TLS with HTTP.
def use_ssl?
- false # redefined in net/https
+ @use_ssl
+ end
+
+ # Turn on/off SSL.
+ # This flag must be set before starting session.
+ # If you change use_ssl value after session started,
+ # a Net::HTTP object raises IOError.
+ def use_ssl=(flag)
+ flag = (flag ? true : false)
+ if started? and @use_ssl != flag
+ raise IOError, "use_ssl value changed, but session already started"
+ end
+ @use_ssl = flag
+ end
+
+ SSL_ATTRIBUTES = %w(
+ ssl_version key cert ca_file ca_path cert_store ciphers
+ verify_mode verify_callback verify_depth ssl_timeout
+ )
+ attr_accessor(*SSL_ATTRIBUTES)
+
+ # return the X.509 certificates the server presented.
+ def peer_cert
+ if not use_ssl? or not @socket
+ return nil
+ end
+ @socket.io.peer_cert
end
# Opens TCP connection and HTTP session.