class Falcon::Endpoint

def build_ssl_context(hostname = self.hostname)

@returns [OpenSSL::SSL::SSLContext]

Uses {Localhost::Authority} to generate self-signed certficates.

Build an appropriate SSL context for the given hostname.
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