Class: Falcon::Endpoint

Inherits:
Async::HTTP::Endpoint
  • Object
show all
Defined in:
lib/falcon/endpoint.rb

Instance Method Summary collapse

Instance Method Details

#build_ssl_context(hostname = self.hostname) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/falcon/endpoint.rb', line 30

def build_ssl_context(hostname = self.hostname)
  authority = Localhost::Authority.fetch(hostname)
  
  authority.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 = "falcon"
  end
end

#ssl_contextObject



26
27
28
# File 'lib/falcon/endpoint.rb', line 26

def ssl_context
  @options[:ssl_context] || build_ssl_context
end