

Estrutura leve, flexível e moderna do servidor escrito em Swift.
O Hummingbird é uma estrutura leve e flexível de aplicativos da web que é executada no topo de uma implementação do servidor baseada em Swiftnio. Ele foi projetado para exigir o número mínimo de dependências.
Ele fornece um roteador para direcionar pontos de extremidade diferentes para seus manipuladores, middleware para solicitações de processamento antes de atingirem seus manipuladores e o processamento das respostas retornadas, codificação/decodificação personalizada de solicitações/respostas, TLS e 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 ( )O núcleo do Hummingbird foi projetado para ser mínimo, com recursos adicionais fornecidos através de extensões. Aqui estão algumas extensões oficiais:
HummingbirdRouter : um roteador alternativo usando construtores de resultadosHummingbirdTLS : suporte TLSHummingbirdHTTP2 : suporte de atualização http2HummingbirdTesting : funções auxiliares para testar projetos de beija -florAs seguintes extensões estão disponíveis em repositórios separados:
Você pode encontrar documentação de referência e guias de usuário para beija -flor aqui. O repositório de amostras-beija-aves possui vários exemplos de diferentes usos da biblioteca.
Adicione o seguinte ao seu arquivo 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 execute os seguintes comandos em seu pacote usando o SWIFTPM, substituindo MyApp pelo nome do seu destino:
swift package add - dependency https : //github.com/hummingbird-project/hummingbird.git --from 2.0.0
swift package add - target - dependency Hummingbird MyAppCongratulamo -nos com contribuições para o Hummingbird! Leia nossas diretrizes contribuintes antes de enviar uma solicitação de tração.
O Hummingbird é liberado sob a licença Apache 2.0.