swift-http-types
swift-http-types copied to clipboard
Version-independent HTTP currency types for Swift
I'm currently experiencing build issues on `nightly-6.0-amazonlinux2`. Appears related to the new `Foundation` on nightly: ``` /workspace/.build/checkouts/swift-http-types/Sources/HTTPTypesFoundation/HTTPRequest+URL.swift:15:8: error: no such module 'CoreFoundation' 13 | //===----------------------------------------------------------------------===// 14 | 15 | import...
Currently when constructing an `HTTPField` or `HTTPField.Name` the values are checked to see if they are valid. This is the correct thing to do obviously when the source of the...
Since it's handled as CoW through `isKnownUniquelyReferenced`, I would not expect to need a lock.
I'm working a [PR](https://github.com/swift-server/swift-aws-lambda-events/pull/47) for [Swift AWS Lambda Events](https://github.com/swift-server/swift-aws-lambda-events) to adopt Swift HTTP Types. Would it be acceptable to add Codable conformance directly to `HTTPResponse.Status` and `HTTPRequest.Method` to better support...
## HTTPClient Web API Client Library needs `HTTPClient` for `URLSession`, `SwiftNIO`... ## Example: GitHub API Client Library ```swift import Foundation import HTTPTypes import HTTPClient import HTTPClientFoundatiaon let api = GitHubAPI(...
According the [docs](https://github.com/apple/swift-http-types/blob/main/Sources/HTTPTypes/HTTPFields.swift#L161) setting multiple fields for the same header should append each field in a comma-separated list (unless it's a cookie). However ```swift var headers = HTTPFields() headers[.date] =...
WebSocket uses the extended-CONNECT form in HTTP/2 and HTTP/3. When creating an HTTPRequest from a URLRequest, we should translate it into the new form. `:method`: `GET` -> `CONNECT` `:scheme`: `wss`/`ws`...
There are a number of performance constraints that can be lifted in the source-available build mode. Many of these are ultimately about specialization, but we should resolve all of these...
## Summary We are encountering a crash due to an _os_unfair_lock_corruption_abort in the HTTPFields._Storage.copy() method from the Swift HTTP Types package. The crash appears to be related to concurrent mutations...
# Motivation Currently this package extends various Foundation types in a separate module. One problem with this module is that it unconditionally imports `FoundationNetworking`. This is undesirable on Linux since...