Drop-in HTTP/1.1 + HTTP/2 + HTTP/3 for Phoenix, Bandit, Finch, Req, Cowboy, and hackney.
Server (replaces Bandit / Cowboy)
{Gale, plug: MyPlug, port: 4000}
{Gale, plug: MyPlug, port: 443, scheme: :https, certfile: "...", keyfile: "...", http3: true}
config :app, AppWeb.Endpoint, adapter: Gale.PhoenixAdapterClient (replaces Req / Finch / hackney)
Gale.get("https://example.com")
Gale.get("https://example.com", protocols: [:http3, :http2, :http1])
{Gale.Finch, name: MyFinch}
Gale.Hackney.get(url)H1/H2 still run on Bandit and Finch. H3 uses Hex quic (quic_h3) plus the
Zig QPACK NIF. Production H3 in front of Phoenix can still terminate at Caddy;
in-VM H3 is http3: true with certs.
Summary
Functions
See Gale.Native.blake3/1.
See Gale.HTTP.delete/2.
See Gale.HTTP.get/2.
See Gale.HTTP.get!/2.
See Gale.HTTP.head/2.
See Gale.HTTP.patch/2.
See Gale.HTTP.post/2.
See Gale.HTTP.post!/2.
See Gale.HTTP.put/2.
See Gale.HTTP.request/3.
See Gale.Native.xxh3/1.