mime definitions, cache-control, and http semantics for server applications

What's New



Version 0.4.0 renames the package from swift-resource to swift-web-semantics, and includes the following changes:

  • introduces the WebService protocol, which can be used to factor out dependencies on SwiftNIO, SwiftNIOSSL, etc.
  • removes the Resource type, and folds it into an improved WebResponse type.
  • renames Response to WebResponse.
  • moves WebResponse into its own module (WebSemantics now re-exports it.)


ci status ci status ci status

swift package index versions swift package index platforms

This package contains miscellaneous definitions useful for server applications. For the most part, the modules in this package refrain from vending complex implementations, as they only vend types intended to serve as a common medium-of-exchange between different downstream components.

Downstream consumers of this package are expected to provide additional functionality as extensions on the types in this package, as needed.

  • MIME

    Vends a single type MIME, which contains content-type definitions.

  • WebResponse

    Vends a single type WebResponse, which models an abstract HTTP response, and wraps a content payload (String or [UInt8]), its canonical location(s), and an optional SHA-256 hash. The WebResponse module also provides convenience APIs for serializing and parsing a SHA-256 hash to and from an HTTP ETag string.

  • WebSemantics

    Vends the WebService protocol, which is useful for applications that implement an HTTP or HTTP-like API, without needing to know the details of HTTP specifically. Requires Swift >= 5.5.


  • Swift Tools 5.3.0
View More Packages from this Author


Last updated: Sun Nov 05 2023 02:58:50 GMT-1000 (Hawaii-Aleutian Standard Time)