Skip to content

apple/swift-nio-http2

Folders and files

NameName
Last commit message
Last commit date
Nov 28, 2024
Oct 30, 2024
Dec 16, 2024
Dec 16, 2024
Dec 16, 2024
Oct 30, 2024
Oct 29, 2024
Oct 29, 2024
May 27, 2021
Oct 29, 2024
Aug 16, 2018
Dec 3, 2022
Oct 29, 2024
Oct 23, 2024
Jan 22, 2024
May 20, 2018
Aug 16, 2018
Dec 4, 2017
May 27, 2021
Dec 11, 2024
Mar 11, 2024
Mar 9, 2021

Repository files navigation

SwiftNIO HTTP/2

This project contains HTTP/2 support for Swift projects using SwiftNIO. To get started, check the API docs.

Building

swift-nio-http2 is a SwiftPM project and can be built and tested very simply:

$ swift build
$ swift test

Versions

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 1.x

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"),

The most recent versions of SwiftNIO HTTP/2 support Swift 5.7 and newer. The minimum Swift version supported for SwiftNIO HTTP/2 releases are detailed below:

SwiftNIO HTTP/2 Minimum Swift Version
1.0.0 ..< 1.18.0 5.0
1.18.0 ..< 1.21.0 5.2
1.21.0 ..< 1.23.0 5.4
1.24.0 ..< 1.27.0 5.5.2
1.27.0 ..< 1.29.0 5.6
1.29.0 ..< 1.31.0 5.7
1.31.0 ... 5.8

swift-nio-http2 0.x

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.

Developing SwiftNIO HTTP/2

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.