Swift Package Index


An HTTP protocol implementation (an `NWProtocolFramer`) and a tiny HTTP server for Network.framework


  • The last commit to develop was 3 months ago.

Swift Version Compatibility

  • develop
    5.3
    5.2
    5.1
    5.0
    4.2
Full build results

Platform Compatibility

  • develop
    iOS
    macOS(Intel)
    macOS(ARM)
    Linux
    tvOS
    watchOS
Full build results

NWHTTPProtocol

Swift5 macOS iOS

An HTTP protocol parser (aka NWProtocolFramer) for the Apple Network.framework.

Network.framework requires iOS 13+ / macOS 10.15+.

This is intentionally kept very simple and basic. E.g. it does not define Swift types for HTTP requests and the like, but puts the status/request/URI in plain Message metadata fields.

The protocol is just wrapping the (embedded) http_parser.c/h developed as part of the Node.js project.

NWHTTPServer

It also includes NWHTTPServer, a very simple HTTP server based on the NWHTTPProtocol.

Example:

let server = HTTPServer { request, response in
    print("Received:", request)
    try response.send("Hello!\n")
}
server.run()

Who

NWHTTPProtocol is brought to you by the Always Right Institute and ZeeZide. We like feedback, GitHub stars, cool contract work, presumably any form of praise you can think of.