hummingbird
v2.5.0


Swiftで書かれた軽量で柔軟な最新のサーバーフレームワーク。
Hummingbirdは、Swiftnioベースのサーバーの実装の上に実行される軽量で柔軟な最新のWebアプリケーションフレームワークです。依存関係の最小数を必要とするように設計されています。
さまざまなエンドポイントをハンドラーに向けるためのルーター、ハンドラーに到達する前にリクエストを処理するためのミドルウェア、返される応答、リクエスト/応答のカスタムエンコード/デコード、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 :TLSサポートHummingbirdHTTP2 :HTTP2アップグレードサポートHummingbirdTesting :ハミングバードプロジェクトをテストするためのヘルパー機能次の拡張機能は、個別のリポジトリで利用できます。
ここでは、参照ドキュメントとハチドリのユーザーガイドを見つけることができます。 Hummingbird-Examplesリポジトリには、ライブラリのさまざまな使用の例がいくつかあります。
以下をPackage.swiftに追加します。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ライセンスの下でリリースされます。