Module: Async::HTTP::Protocol::HTTPS
- Defined in:
- lib/async/http/protocol/https.rb
Overview
A server that supports both HTTP1.0 and HTTP1.1 semantics by detecting the version of the request.
Constant Summary collapse
Class Method Summary collapse
- .client(peer) ⇒ Object
-
.names ⇒ Object
Supported Application Layer Protocol Negotiation names:.
- .protocol_for(peer) ⇒ Object
- .server(peer) ⇒ Object
Class Method Details
.client(peer) ⇒ Object
71 72 73 |
# File 'lib/async/http/protocol/https.rb', line 71 def self.client(peer) protocol_for(peer).client(peer) end |
.names ⇒ Object
Supported Application Layer Protocol Negotiation names:
80 81 82 |
# File 'lib/async/http/protocol/https.rb', line 80 def self.names HANDLERS.keys.compact end |
.protocol_for(peer) ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/async/http/protocol/https.rb', line 58 def self.protocol_for(peer) # alpn_protocol is only available if openssl v1.0.2+ name = peer.alpn_protocol Console.logger.debug(self) {"Negotiating protocol #{name.inspect}..."} if protocol = HANDLERS[name] return protocol else raise ArgumentError, "Could not determine protocol for connection (#{name.inspect})." end end |
.server(peer) ⇒ Object
75 76 77 |
# File 'lib/async/http/protocol/https.rb', line 75 def self.server(peer) protocol_for(peer).server(peer) end |