Gale - Phoenix adapter for HTTP/1.1, HTTP/2, and HTTP/3 (QUIC) without needing to replace Bandit

Shipped Gale: HTTP/3 for Phoenix without replacing Bandit.

adapter: Gale.PhoenixAdapter + http3: true.

QUIC via :quic_h3, QPACK in a Zig NIF, Plug if you are not on Phoenix. Localhost bench in the README (~825K on 7 streams). Come break it.

Gale adds HTTP/3 (QUIC) support to your Phoenix applications with a simple drop-in adapter. Built on Bandit for HTTP/1.1/HTTP/2, with :quic_h3 for HTTP/3 and a Zig NIF for maximum QPACK performance.

Why Gale?

Feature Without Gale With Gale
HTTP/1.1 :white_check_mark: :white_check_mark:
HTTP/2 :white_check_mark: :white_check_mark:
HTTP/3 :cross_mark: :white_check_mark:
Performance (7 streams) — 412× faster
QPACK NIF :cross_mark: :white_check_mark:
6 Likes

How does http/3 and QUIC interact with liveview websockets? Can Gale run a websocket over QUIC or do they still run on TCP? I see websocket support mentioned here, but nothing about LiveView specifically.

1 Like