À propos du projet
Alamofire est une bibliothèque de mise en réseau HTTP largement utilisée, écrite en Swift, conçue pour rendre les requêtes réseau élégantes et concises. Elle enveloppe l'URLSession d'Apple avec une API propre et chaînable qui prend en charge Swift Concurrency (async/await) jusqu'à iOS 13, Combine et les gestionnaires d'achèvement traditionnels.
Les fonctionnalités clés incluent :
- Méthodes de requête et de réponse chaînables pour un code lisible et composable
- Encodage des paramètres d'URL et JSON
- Téléversements de fichiers, données, flux et données de formulaire multipart
- Téléchargements de fichiers via requête ou données de reprise
- Authentification avec URLCredential (HTTP Basic, Digest, etc.)
- Validation des réponses HTTP (codes de statut, types de contenu)
- Suivi de la progression des téléversements et téléchargements
- Sortie de commande cURL pour le débogage
- Adaptation dynamique des requêtes et politiques de nouvelle tentative automatiques
- Épinglage de certificats TLS et de clés publiques
- Surveillance de la disponibilité du réseau
- Couverture complète de tests unitaires et d'intégration
Alamofire prend en charge macOS, iOS, tvOS, watchOS et visionOS, et peut être compilé sur Linux, Windows et Android (bien que ces plateformes ne soient pas officiellement prises en charge en raison de fonctionnalités manquantes dans swift-corelibs-foundation). Elle nécessite Swift 6.0 et Xcode 16.0.
L'installation est possible via Swift Package Manager, CocoaPods, Carthage ou une intégration manuelle. La bibliothèque est maintenue par la Alamofire Software Foundation et publiée sous licence MIT.
L'écosystème comprend des bibliothèques compagnes telles que AlamofireImage (téléchargement et mise en cache d'images) et AlamofireNetworkActivityIndicator (contrôle de l'indicateur d'activité réseau).
Les utilisations avancées couvrent la gestion des sessions, le routage des requêtes, les gestionnaires de réponse personnalisés, l'intégration de Swift Concurrency et Combine, les fonctionnalités de sécurité et la disponibilité du réseau.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.