WireProtocol
struct WireProtocolStable integer codepoints for the wires :class:HttpServer dispatches between. The reactor switches on these so the dispatch table is one indirection per accepted connection.
Implements Movable
comptime UNKNOWN = Int(0)ALPN negotiation produced no match or the input is empty. The reactor closes the connection with a TLS no_application_protocol alert (RFC 7301 §3.2).
comptime HTTP_1_1 = Int(1)HTTP/1.1 -- ALPN "http/1.1" or no ALPN advertised.
comptime H2C = Int(2)HTTP/2 cleartext upgrade via h1's Upgrade: h2c header. Not negotiated through ALPN; the reactor lands here when the h1 parser detects the upgrade hint.
comptime HTTP_2 = Int(3)HTTP/2 over TLS -- ALPN "h2" (RFC 9113 §3.3).
comptime HTTP_3 = Int(4)HTTP/3 over QUIC -- ALPN "h3" (RFC 9114 §3.1). Routed to the :class:flare.http3.Http3Connection driver on the UDP listener side.
comptime ALPN_HTTP_1_1 = String("http/1.1")RFC 7301-registered identifier for HTTP/1.1.
comptime ALPN_HTTP_2 = String("h2")RFC 7540 sec 3.3 identifier for HTTP/2 over TLS.
comptime ALPN_HTTP_3 = String("h3")RFC 9114 sec 3.1 identifier for HTTP/3 over QUIC.