Référence des modules
Voici les modules proposé par Hyper pour Rust :
| Nom | Description |
|---|---|
| body | Ce module permet de fournir des corps de requêtes et réponses en streaming. Il permet de manipuler des flux de données partiels (chunked) de manière désynchronisée, ce qui est essentiel pour les transferts HTTP longs ou en continu. Il expose notamment le type Body. |
| client | Ce module permet d'implémenter un client HTTP désynchronisée capable d'émettre des requêtes vers des serveurs. Il permet de construire des requêtes (Request), de les envoyer, puis de lire les réponses (Response), le tout de façon non bloquante via tokio. |
| ext | Ce module permet de regrouper les extensions pour le protocole HTTP ou pour des fonctionnalités supplémentaires dans Hyper. Il peut contenir des traits ou types utilitaires permettant de manipuler plus facilement certaines composantes du protocole. |
| ffi et hyper_unstable_ffi | Ces modules exposent une API C (Foreign Function Interface) pour utiliser Hyper depuis d'autres langages que Rust. Ils permettent, par exemple, à une bibliothèque C ou un langage embarqué (comme Lua ou Python via FFI) d'interagir avec le moteur HTTP de Hyper. |
| rt | Ce module contient des composants liés à l'exécution asynchrone (runtime). Il sert de point d'intégration entre Hyper et des moteurs d'exécution comme tokio, fournissant des abstractions nécessaires à la gestion du cycle de vie des connexions. |
| server | Ce module fournit les outils nécessaires pour implémenter un serveur HTTP. Il permet de définir un service, d'écouter sur une socket, d'accepter les connexions entrantes, puis de gérer les requêtes via des futures et des streams. |
| service | Ce module contient des abstractions autour des services asynchrones, notamment le trait Service, qui est la base pour construire des middlewares ou des gestionnaires de requêtes personnalisés. Il s'inspire du modèle de Tower, favorisant la composition de traitement. |
| upgrade | Ce module permet de gérer les mécanismes de surclassement de connexion HTTP, comme Upgrade: websocket. Il expose les outils nécessaires pour prendre le contrôle de la connexion TCP brute après l'établissement d'une requête HTTP, afin de la transformer en autre chose (comme WebSocket). |
Dernière mise à jour : Samedi, le 4 janvier 2025