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 containscontent-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. TheWebResponse
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.