Project

General

Profile

Feature #2574 ยป merge_https.patch

naruse (Yui NARUSE), 01/08/2010 09:40 AM

View differences:

lib/net/http.rb
#++
require 'net/protocol'
autoload :OpenSSL, 'openssl'
require 'uri'
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.
lib/net/https.rb
=begin
= $RCSfile$ -- SSL/TLS enhancement for Net::HTTP.
= net/https -- SSL/TLS enhancement for Net::HTTP.
== Info
'OpenSSL for Ruby 2' project
......
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:
......
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
    (1-1/1)