

Marco de servidor moderno ligero, flexible y moderno escrito en Swift.
Hummingbird es un marco de aplicaciones web moderno ligero y flexible que se ejecuta encima de una implementación de servidor basada en Swiftnio. Está diseñado para requerir el número mínimo de dependencias.
Proporciona un enrutador para dirigir diferentes puntos finales a sus manejadores, middleware para las solicitudes de procesamiento antes de que lleguen a sus manejadores y procesen las respuestas devueltas, codificación/decodificación personalizada de solicitudes/respuestas, TLS y 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 ( )El núcleo de Hummingbird está diseñado para ser mínimo, con características adicionales proporcionadas a través de extensiones. Aquí hay algunas extensiones oficiales:
HummingbirdRouter : un enrutador alternativo que usa los constructores de resultadosHummingbirdTLS : TLS SupportHummingbirdHTTP2 : soporte de actualización HTTP2HummingbirdTesting : Funciones auxiliares para probar proyectos de colibríLas siguientes extensiones están disponibles en repositorios separados:
Puede encontrar documentación de referencia y guías de usuario para Hummingbird aquí. El repositorio de pruebas de colmingbird tiene una serie de ejemplos de diferentes usos de la biblioteca.
Agregue lo siguiente a su archivo Package.swift :
dependencies: [
. package ( url : " https://github.com/hummingbird-project/hummingbird.git " , from : " 2.0.0 " )
] ,
targets: [
. executableTarget (
name : " MyApp " ,
dependencies : [
. target ( name : " Hummingbird " ) ,
] ) ,
] O ejecute los siguientes comandos en su paquete usando SwiftPM, reemplazando MyApp con el nombre de su objetivo:
swift package add - dependency https : //github.com/hummingbird-project/hummingbird.git --from 2.0.0
swift package add - target - dependency Hummingbird MyApp¡Agradecemos las contribuciones a Hummingbird! Lea nuestras pautas de contribución antes de enviar una solicitud de extracción.
Hummingbird se libera bajo la licencia Apache 2.0.