aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/net/http.rb29
-rw-r--r--lib/net/https.rb46
3 files changed, 34 insertions, 46 deletions
diff --git a/ChangeLog b/ChangeLog
index 13b1c42b19..08cb523320 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Jan 8 21:15:21 2010 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * lib/net/http, lib/net/https: move content from net/https to
+ net/http. [ruby-dev:39986]
+
Fri Jan 8 14:06:01 2010 NAKAMURA Usaku <usa@ruby-lang.org>
* io.c (rb_io_s_read): close the IO if an exception is raised on
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.
diff --git a/lib/net/https.rb b/lib/net/https.rb
index 636ae1be4d..9839504870 100644
--- a/lib/net/https.rb
+++ b/lib/net/https.rb
@@ -1,6 +1,6 @@
=begin
-= $RCSfile$ -- SSL/TLS enhancement for Net::HTTP.
+= net/https -- SSL/TLS enhancement for Net::HTTP.
== Info
'OpenSSL for Ruby 2' project
@@ -11,16 +11,6 @@
This program is licenced under the same licence as Ruby.
(See the file 'LICENCE'.)
-== Requirements
- This program requires Net 1.2.0 or higher version.
- You can get it from RAA or Ruby's CVS repository.
-
-== Version
- $Id$
-
- 2001-11-06: Contiributed to Ruby/OpenSSL project.
- 2004-03-06: Some code is merged in to net/http.
-
== Example
Here is a simple HTTP client:
@@ -100,37 +90,3 @@ It can be replaced by the following code:
require 'net/http'
require 'openssl'
-
-module Net
- class HTTP
- remove_method :use_ssl?
- def use_ssl?
- @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)
-
- def peer_cert
- if not use_ssl? or not @socket
- return nil
- end
- @socket.io.peer_cert
- end
- end
-end