Erlang/OTP / HTTP et QUIC
Nous implémentons les protocoles, pas seulement les intégrations.
Des bibliothèques HTTP et de transport pour Erlang/OTP, développées et maintenues par Benoît Chesneau avec les contributions de leurs utilisateurs : HTTP/1.1, HTTP/2, HTTP/3, QUIC et WebTransport. Travaillez directement avec Enki sur l'intégration de protocoles, leur implémentation et les problèmes de production.
Une pile HTTP open source pour la BEAM.
Des bibliothèques indépendantes, à adopter une par une. Livery et Hackney les combinent en un serveur et un client qui parlent toutes les versions de HTTP.
Serveur et client
LiveryServeur et framework HTTP HackneyClient HTTPSessions
erlang-webtransportWebTransport sur HTTP/2 et HTTP/3HTTP
erlang_h1HTTP/1.1 erlang_h2HTTP/2 erlang_quicQUIC et HTTP/3Transport
Runtime
Construits sur la pile : erlang_ws pour WebSocket, livery_grpc pour gRPC, erlang_masque pour les tunnels MASQUE.
Ce que nous faisons pour vous
Adopter HTTP/2, HTTP/3 et QUIC
Ajouter des protocoles modernes à des services Erlang ou Elixir, avec des solutions de repli pour les clients plus anciens.
Construire des services et des API HTTP
API et passerelles sur Livery, du routage à l'observabilité.
Augmenter le débit
Gestion des connexions, contrôle de flux, contre-pression et mémoire sur le chemin critique.
Déboguer au niveau du protocole
Flux bloqués, échecs d'interopérabilité, erreurs de handshake. Nous lisons les trames.
Diffuser en temps réel
WebSocket, WebTransport et server-sent events pour les données en direct et la messagerie.
Étendre et maintenir
Fonctionnalités financées, nouvelles RFC et maintenance à long terme des bibliothèques dont vous dépendez.
Des spécifications au code de production.
Nous implémentons à partir des spécifications : RFC 9112 pour HTTP/1.1, RFC 9113 pour HTTP/2, RFC 9000 et RFC 9114 pour QUIC et HTTP/3. Nous testons avec des suites de conformité et face à d'autres implémentations, et nous utilisons le résultat dans nos propres services.
C'est aussi pour cela que nous sommes utiles sur du code que nous n'avons pas écrit : nous savons où les implémentations ont tendance à diverger.