diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-01-08 12:17:15 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-01-08 12:17:15 +0000 |
commit | e0cdab5fff0e57bdea2cb3237e5031dd69fbada5 (patch) | |
tree | dcfe1f446158c38f056cec73a95efaa9fca2c87d /lib/net/http.rb | |
parent | ef6e53635ab580214694a72f60133452f66a8827 (diff) | |
download | ruby-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.rb | 29 |
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. |