This project contains HTTP/2 support for Swift projects using SwiftNIO. To get started, check the API docs.
swift-nio-http2
is a SwiftPM project and can be built and tested very simply:
$ swift build
$ swift test
Just like the rest of the SwiftNIO family, swift-nio-http2 follows SemVer 2.0.0 with a separate document declaring SwiftNIO's Public API.
swift-nio-http2
versions 1.x are a pure-Swift implementation of the HTTP/2 protocol for SwiftNIO. It's part of the SwiftNIO 2 family of repositories and does not have any dependencies besides swift-nio
and Swift 5. As the latest version, it lives on the main
branch.
To depend on swift-nio-http2
, put the following in the dependencies
of your Package.swift
:
.package(url: "https://github.com/apple/swift-nio-http2.git", from: "1.19.2"),
SwiftNIO HTTP2 1.21.x and later support Swift 5.4 and above. 1.20.x and earlier also support Swift 5.2 and 5.3. 1.17.x and earlier also support Swift 5.0 and 5.1.
The legacy swift-nio-http
0.x is part of the SwiftNIO 1 family of repositories and works on Swift 4.1 and newer but requires nghttp2 to be installed on your system. The source code can be found on the nghttp2-support-branch
.
For the most part, SwiftNIO development is as straightforward as any other SwiftPM project. With that said, we do have a few processes that are worth understanding before you contribute. For details, please see CONTRIBUTING.md
in this repository.