Erlang/OTP / HTTP and QUIC
We implement the protocols, not only the integrations.
HTTP and transport libraries for Erlang/OTP, developed and maintained by Benoît Chesneau with contributions from their users: HTTP/1.1, HTTP/2, HTTP/3, QUIC and WebTransport. Work directly with Enki on protocol integration, implementation and production issues.
An open-source HTTP stack for the BEAM.
Independent libraries you can adopt one at a time. Livery and Hackney combine them into a server and a client that speak every version of HTTP.
Server and client
LiveryHTTP server and framework HackneyHTTP clientSessions
erlang-webtransportWebTransport over HTTP/2 and HTTP/3HTTP
erlang_h1HTTP/1.1 erlang_h2HTTP/2 erlang_quicQUIC and HTTP/3Transport
Runtime
Built on the stack: erlang_ws for WebSocket, livery_grpc for gRPC, erlang_masque for MASQUE tunnels.
What we do for you
Adopt HTTP/2, HTTP/3 and QUIC
Add modern protocols to Erlang or Elixir services, with fallbacks for older clients.
Build HTTP services and APIs
APIs and gateways on Livery, from routing to observability.
Raise throughput
Connection handling, flow control, back-pressure and memory on the hot path.
Debug at the protocol level
Stalled streams, interop failures, handshake errors. We read the frames.
Stream in real time
WebSocket, WebTransport and server-sent events for live data and messaging.
Extend and maintain
Sponsored features, new RFCs and long-term maintenance of the libraries you rely on.
Specifications in, production code out.
We implement from the specifications: RFC 9112 for HTTP/1.1, RFC 9113 for HTTP/2, RFC 9000 and RFC 9114 for QUIC and HTTP/3. We test against conformance suites and other implementations, and run the result in our own services.
That is also why we are useful on code we did not write: we know where implementations tend to disagree.