Class: WEBrick::CGI::Socket
- Inherits:
-
Object
- Object
- WEBrick::CGI::Socket
- Includes:
- Enumerable
- Defined in:
- lib/webrick/cgi.rb
Instance Method Summary collapse
- #<<(data) ⇒ Object
- #addr ⇒ Object
- #cert ⇒ Object
- #cipher ⇒ Object
- #each ⇒ Object
- #eof? ⇒ Boolean
- #gets(eol = LF, size = nil) ⇒ Object
- #peer_cert ⇒ Object
- #peer_cert_chain ⇒ Object
- #peeraddr ⇒ Object
- #read(size = nil) ⇒ Object
Instance Method Details
#<<(data) ⇒ Object
215 216 217 |
# File 'lib/webrick/cgi.rb', line 215 def <<(data) @out_port << data end |
#addr ⇒ Object
195 196 197 |
# File 'lib/webrick/cgi.rb', line 195 def addr [nil, @server_port, @server_name, @server_addr] end |
#cert ⇒ Object
219 220 221 222 223 224 |
# File 'lib/webrick/cgi.rb', line 219 def cert return nil unless defined?(OpenSSL) if pem = @env["SSL_SERVER_CERT"] OpenSSL::X509::Certificate.new(pem) unless pem.empty? end end |
#cipher ⇒ Object
248 249 250 251 252 253 254 255 256 257 |
# File 'lib/webrick/cgi.rb', line 248 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 ⇒ Object
207 208 209 |
# File 'lib/webrick/cgi.rb', line 207 def each input.each{|line| yield(line) } end |
#eof? ⇒ Boolean
211 212 213 |
# File 'lib/webrick/cgi.rb', line 211 def eof? input.eof? end |
#gets(eol = LF, size = nil) ⇒ Object
199 200 201 |
# File 'lib/webrick/cgi.rb', line 199 def gets(eol=LF, size=nil) input.gets(eol, size) end |
#peer_cert ⇒ Object
226 227 228 229 230 231 |
# File 'lib/webrick/cgi.rb', line 226 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 ⇒ Object
233 234 235 236 237 238 239 240 241 242 243 244 245 246 |
# File 'lib/webrick/cgi.rb', line 233 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 ⇒ Object
191 192 193 |
# File 'lib/webrick/cgi.rb', line 191 def peeraddr [nil, @remote_port, @remote_host, @remote_addr] end |
#read(size = nil) ⇒ Object
203 204 205 |
# File 'lib/webrick/cgi.rb', line 203 def read(size=nil) input.read(size) end |