

Framework de serveur léger, flexible et moderne écrit dans Swift.
Hummingbird est un cadre d'application Web moderne léger et flexible qui s'exécute sur une implémentation de serveur basée sur SwiftNio. Il est conçu pour nécessiter le nombre minimum de dépendances.
Il fournit un routeur pour diriger différents points de terminaison vers leurs gestionnaires, middleware pour le traitement des demandes avant d'atteindre vos gestionnaires et le traitement des réponses renvoyées, codage / décodage personnalisé des demandes / réponses, TLS et HTTP2.
import Hummingbird
// create router and add a single GET /hello route
let router = Router ( )
router . get ( " hello " ) { request , _ -> String in
return " Hello "
}
// create application using router
let app = Application (
router : router ,
configuration : . init ( address : . hostname ( " 127.0.0.1 " , port : 8080 ) )
)
// run hummingbird application
try await app . runService ( )Le noyau de Hummingbird est conçu pour être minime, avec des fonctionnalités supplémentaires fournies à travers des extensions. Voici quelques extensions officielles:
HummingbirdRouter : un routeur alternatif utilisant des constructeurs de résultatsHummingbirdTLS : support TLSHummingbirdHTTP2 : support de mise à niveau HTTP2HummingbirdTesting : Fonctions d'assistance pour tester les projets de colibrisLes extensions suivantes sont disponibles dans des référentiels distincts:
Vous pouvez trouver une documentation de référence et des guides utilisateur pour Hummingbird ici. Le référentiel Hummingbird-Exemples a un certain nombre d'exemples d'utilisations différentes de la bibliothèque.
Ajoutez ce qui suit à votre fichier Package.swift :
dependencies: [
. package ( url : " https://github.com/hummingbird-project/hummingbird.git " , from : " 2.0.0 " )
] ,
targets: [
. executableTarget (
name : " MyApp " ,
dependencies : [
. target ( name : " Hummingbird " ) ,
] ) ,
] Ou exécutez les commandes suivantes sur votre package à l'aide de SWIFTPM, en remplaçant MyApp par le nom de votre cible:
swift package add - dependency https : //github.com/hummingbird-project/hummingbird.git --from 2.0.0
swift package add - target - dependency Hummingbird MyAppNous saluons les contributions à Hummingbird! Veuillez lire nos directives contributives avant de soumettre une demande de traction.
Hummingbird est libéré sous la licence Apache 2.0.