diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | lib/webrick/httprequest.rb | 2 | ||||
-rw-r--r-- | lib/webrick/https.rb | 4 |
3 files changed, 12 insertions, 2 deletions
@@ -1,3 +1,11 @@ +Fri Dec 19 21:24:22 2003 GOTOU Yuuzou <[email protected]> + + * 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 <[email protected]> * lib/soap/property.rb (SOAP::Property#load): new method for loading diff --git a/lib/webrick/httprequest.rb b/lib/webrick/httprequest.rb index a25c9933c5..455e94c08c 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 0d8ebd2ba3..45db229c59 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 |