Tags: acche/async-http-client
Tags
Only crash in debug mode, if HTTPClient was not shutdown (swift-serve… …r#478) ### Motivation Generally we want to inform users that they need to shutdown their HTTPClient. Until `1.6.0` we did this with an assert in HTTPClient's deinit. With `1.6.0` this behavior was raised to a precondition. Because of this adopters might suddenly crash in production where they didn't before. ### Changes - This pr reverts the current behavior back to something pre `1.6.0` ### Result - HTTPClient doesn't crash in production anymore.
Don't crash when hitting long backoffs. (swift-server#458) Motivation: If we backoff sufficiently far we can overflow Int64, which will cause us to crash. Modifications: Clamp the backoff value before we convert to Int64. Results: No crashes!
Always clear read idle timeout at the end of a request (swift-server#455 )
[HTTP1Connection] Handle 101 Switching Protocols (swift-server#442)
Refactor Channel creation (swift-server#377) - The connection creation logic has been refactored into a number of smaller methods that can be combined - Connection creation now has a logical home. It is moved from `Utils.swift` into a `ConnectionFactory` - There are explicit `ChannelHandlers` that are used for connection creation: - `TLSEventsHandler` got its own file and unit tests - `HTTP1ProxyConnectHandler` got its own file and unit tests - `SOCKSEventsHandler` got its own file and unit tests - Some small things are already part of this pr that will get their context later. For example: - `HTTPConnectionPool` is added as a namespace to not cause major renames in follow up PRs - `HTTPConnectionPool.Connection.ID` and its generator were added now. (This will be used later to identify a connection during its lifetime) - the file `HTTPConnectionPool+Manager` was added to give `HTTPConnectionPool.Connection.ID.Generator` already its final destination.
PreviousNext