Module: Falcon::Environment::SelfSignedTLS

Defined in:
lib/falcon/environment/self_signed_tls.rb

Overview

Provides an environment that exposes a self-signed TLS certificate using the ‘localhost` gem.

Instance Method Summary collapse

Instance Method Details

#ssl_contextObject

The SSL context to use for incoming connections.



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/falcon/environment/self_signed_tls.rb', line 22

def ssl_context
  contexts = Localhost::Authority.fetch(authority)
  
  contexts.server_context.tap do |context|
    context.alpn_select_cb = lambda do |protocols|
      if protocols.include? "h2"
        return "h2"
      elsif protocols.include? "http/1.1"
        return "http/1.1"
      elsif protocols.include? "http/1.0"
        return "http/1.0"
      else
        return nil
      end
    end
    
    context.session_id_context = ssl_session_id
  end
end

#ssl_session_idObject

The default session identifier for the session cache.



16
17
18
# File 'lib/falcon/environment/self_signed_tls.rb', line 16

def ssl_session_id
  "falcon"
end