From 093ecdf95dba992e8afb616870874a4c455962e1 Mon Sep 17 00:00:00 2001 From: gotoyuzo Date: Fri, 19 Dec 2003 14:31:24 +0000 Subject: * lib/webrick/httprequest.rb (meta_vers): should not set HTTP_CONTENT_TYPE and HTTP_CONTENT_LENGTH. * lib/webrick/https.rb (HTTPRequest#parse): should check presence of cert() method to detect SSLSocket. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@5221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ lib/webrick/httprequest.rb | 2 ++ lib/webrick/https.rb | 4 ++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index be46652dd..fe8367e18 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Fri Dec 19 21:24:22 2003 GOTOU Yuuzou + + * lib/webrick/httprequest.rb (meta_vers): should not set + HTTP_CONTENT_TYPE and HTTP_CONTENT_LENGTH. + + * lib/webrick/https.rb (HTTPRequest#parse): should check presence + of cert() method to detect SSLSocket. + Fri Dec 19 22:56:46 2003 NAKAMURA, Hiroshi * lib/soap/property.rb (SOAP::Property#load): new method for loading diff --git a/lib/webrick/httprequest.rb b/lib/webrick/httprequest.rb index a25c9933c..455e94c08 100644 --- a/lib/webrick/httprequest.rb +++ b/lib/webrick/httprequest.rb @@ -190,6 +190,8 @@ module WEBrick meta["SERVER_SOFTWARE"] = @config[:ServerSoftware].dup self.each{|key, val| + next if /content-type/ =~ key + next if /content-length/ =~ key name = "HTTP_" + key name.gsub!(/-/o, "_") name.upcase! diff --git a/lib/webrick/https.rb b/lib/webrick/https.rb index 0d8ebd2ba..45db229c5 100644 --- a/lib/webrick/https.rb +++ b/lib/webrick/https.rb @@ -21,8 +21,8 @@ module WEBrick alias orig_parse parse def parse(socket=nil) - if socket && socket.is_a?(OpenSSL::SSL::SSLSocket) - @server_cert = @config[:SSLCertificate] + if socket.respond_to?(:cert) + @server_cert = socket.cert || @config[:SSLCertificate] @client_cert = socket.peer_cert @client_cert_chain = socket.peer_cert_chain @cipher = socket.cipher -- cgit