<<(data)
click to toggle source
def <<(data)
@out_port << data
end
addr()
click to toggle source
def addr
[nil, @server_port, @server_name, @server_addr]
end
cert()
click to toggle source
def cert
return nil unless defined?(OpenSSL)
if pem = @env["SSL_SERVER_CERT"]
OpenSSL::X509::Certificate.new(pem) unless pem.empty?
end
end
cipher()
click to toggle source
def cipher
return nil unless defined?(OpenSSL)
if cipher = @env["SSL_CIPHER"]
ret = [ cipher ]
ret << @env["SSL_PROTOCOL"]
ret << @env["SSL_CIPHER_USEKEYSIZE"]
ret << @env["SSL_CIPHER_ALGKEYSIZE"]
ret
end
end
each()
click to toggle source
def each
input.each{|line| yield(line) }
end
gets(eol=LF)
click to toggle source
def gets(eol=LF)
input.gets(eol)
end
peer_cert()
click to toggle source
def peer_cert
return nil unless defined?(OpenSSL)
if pem = @env["SSL_CLIENT_CERT"]
OpenSSL::X509::Certificate.new(pem) unless pem.empty?
end
end
peer_cert_chain()
click to toggle source
def peer_cert_chain
return nil unless defined?(OpenSSL)
if @env["SSL_CLIENT_CERT_CHAIN_0"]
keys = @env.keys
certs = keys.sort.collect{|k|
if /^SSL_CLIENT_CERT_CHAIN_\d+$/ =~ k
if pem = @env[k]
OpenSSL::X509::Certificate.new(pem) unless pem.empty?
end
end
}
certs.compact
end
end
peeraddr()
click to toggle source
def peeraddr
[nil, @remote_port, @remote_host, @remote_addr]
end
read(size=nil)
click to toggle source
def read(size=nil)
input.read(size)
end