SwiftNIOHTTP2 1.22.0

SwiftNIOHTTP2 1.22.0

Maintained by Daniel Alm, Cory Benfield, Johannes Weiss, George Barnett, Jake Prickett, Peter Adams, David Evans.



 
Depends on:
CNIOAtomics< 3, >= 2.35.0
SwiftNIOCore< 3, >= 2.35.0
SwiftNIOConcurrencyHelpers< 3, >= 2.35.0
CNIOWindows< 3, >= 2.35.0
CNIOHTTPParser< 3, >= 2.35.0
SwiftNIOTLS< 3, >= 2.35.0
SwiftNIOHPACK= 1.22.0
SwiftNIOEmbedded< 3, >= 2.35.0
CNIOLinux< 3, >= 2.35.0
SwiftNIOPosix< 3, >= 2.35.0
SwiftNIOHTTP1< 3, >= 2.35.0
SwiftNIO< 3, >= 2.35.0
CNIODarwin< 3, >= 2.35.0
_NIODataStructures< 3, >= 2.35.0
 

  • By
  • Apple Inc.

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

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.

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.