

Легкая, гибкая, современная серверная структура написана в Swift.
Hummingbird - это легкая гибкая современная структура веб -приложений, которая работает над реализацией сервера на основе Swiftnio. Он предназначен для того, чтобы потребовать минимальное количество зависимостей.
Он предоставляет маршрутизатор для направления различных конечных точек на их обработчики, промежуточное программное обеспечение для обработки запросов, прежде чем они достигнут ваших обработчиков и обработки возвращаемых ответов, пользовательское кодирование/декодирование запросов/ответов, TLS и 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 ( )Ядро Hummingbird разработано, чтобы быть минимальным, с дополнительными функциями, предоставляемыми в рамках расширений. Вот несколько официальных расширений:
HummingbirdRouter : альтернативный маршрутизатор с использованием результатов строителейHummingbirdTLS : поддержка TLSHummingbirdHTTP2 : HTTP2 поддержка обновленияHummingbirdTesting : вспомогательные функции для тестирования проектов HummingbirdСледующие расширения доступны в отдельных репозиториях:
Вы можете найти справочную документацию и руководства пользователя для Hummingbird здесь. Репозиторий Hummingbird-examples имеет ряд примеров различных применений библиотеки.
Добавьте следующее в свой Package.swift .
dependencies: [
. package ( url : " https://github.com/hummingbird-project/hummingbird.git " , from : " 2.0.0 " )
] ,
targets: [
. executableTarget (
name : " MyApp " ,
dependencies : [
. target ( name : " Hummingbird " ) ,
] ) ,
] Или запустите следующие команды на вашем пакете, используя Swiftpm, заменив MyApp именем вашей цели:
swift package add - dependency https : //github.com/hummingbird-project/hummingbird.git --from 2.0.0
swift package add - target - dependency Hummingbird MyAppМы приветствуем вклад в Колибри! Пожалуйста, прочитайте наши рекомендации по внесению в соответствие, прежде чем отправить запрос на привлечение.
Hummingbird выпускается по лицензии Apache 2.0.