

Leichtes, flexibles, modernes Server -Framework in Swift.
Hummingbird ist ein leichtes, flexibles modernes Webanwendungs -Framework, das über einer Swiftnio -basierten Server -Implementierung ausgeführt wird. Es ist so konzipiert, dass die Mindestanzahl von Abhängigkeiten erforderlich ist.
Es bietet einen Router, um verschiedene Endpunkte an ihre Handler zu lenken, Middleware, um Anforderungen zu verarbeiten, bevor sie Ihre Handler erreichen und die zurückgegebenen Antworten verarbeiten, benutzerdefinierte Codierung/Decodierung von Anforderungen/Antworten, TLS und 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 ( )Der Kern von Hummingbird ist so konzipiert, dass sie minimal sind und zusätzliche Funktionen durch Erweiterungen bereitstellen. Hier sind einige offizielle Erweiterungen:
HummingbirdRouter : Ein alternativer Router, der Ergebnisbauer verwendetHummingbirdTLS : TLS -UnterstützungHummingbirdHTTP2 : HTTP2 -Upgrade -UnterstützungHummingbirdTesting : Helferfunktionen zum Testen von Kolibri -ProjektenDie folgenden Erweiterungen sind in separaten Repositories erhältlich:
Hier finden Sie Referenzdokumentationen und Benutzerführer für Hummingbird. Das Hummingbird-Examples-Repository hat eine Reihe von Beispielen für verschiedene Verwendungen der Bibliothek.
Fügen Sie Folgendes zu Ihrem Package.swift hinzu.
dependencies: [
. package ( url : " https://github.com/hummingbird-project/hummingbird.git " , from : " 2.0.0 " )
] ,
targets: [
. executableTarget (
name : " MyApp " ,
dependencies : [
. target ( name : " Hummingbird " ) ,
] ) ,
] Oder führen Sie die folgenden Befehle auf Ihrem Paket mit SwiftPM aus, wodurch MyApp durch den Namen Ihres Ziels ersetzt wird:
swift package add - dependency https : //github.com/hummingbird-project/hummingbird.git --from 2.0.0
swift package add - target - dependency Hummingbird MyAppWir begrüßen Beiträge zum Kolibri! Bitte lesen Sie unsere beitragenden Richtlinien, bevor Sie eine Pull -Anfrage einreichen.
Hummingbird wird unter der Apache 2.0 -Lizenz veröffentlicht.