Enki Multimedia

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.

Six open-source libraries on github.com/benoitc. Livery builds on all four protocol libraries. Hackney uses erlang_h2, erlang_quic and erlang-webtransport, with its own HTTP/1.1 code. Each library can also be used on its own.

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.

A protocol problem or a new service? Let's discuss it.