Swiftpack.co - Package - amzn/smoke-http

Build - Master Branch Linux Swift 4.1 Compatible Swift 4.1 Compatible Join the Smoke Server Side community on gitter Apache 2


SmokeHTTP contains the library SmokeHTTPClient which will allow someone building a specific client that requires unique use-cases for HTTP parameters to utilize a generic HTTPClient that allows the user to implement their own delegates that handles client-specific HTTP logic.

The benefit of this package is to consolidate all HTTPClient logic into one location, while other clients are built to utilize this client while defining their own specific delegates.


To use SmokeHTTPClient, a user can instantiate an HTTPClient in the constructor of their specific client with instantiated delegates (HTTPClientDelegate, HTTPClientChannelInboundHandlerDelegate) that are defined by the client-specific logic.


This library is licensed under the Apache 2.0 License.


Stars: 29
Help us keep the lights on


0.7.3 - Mar 13, 2019

Fix crash on Linux branch of getRetryInterval().

0.7.2 - Mar 12, 2019

Fixed for a fatal error when the retry configuration as 0 as the upper bound retry duration.

0.7.1 - Feb 26, 2019

  • Fixed an issue where async retries where both initiating a retry request and calling the completion handler
  • Fixed an issue where retry intervals where not being calculated correctly.

0.7.0 - Feb 12, 2019

Added entry points to HTTPClient that will automatically handle request retries with exponential backoff-

  • HTTPClient.executeSyncRetriableWithOutput()
  • HTTPClient.executeSyncRetriableWithoutOutput()
  • HTTPClient.executeAsyncRetriableWithOutput()
  • HTTPClient.executeAsyncRetriableWithoutOutput()

Note: This is also a release-candidate for 1.0.0.

0.6.2 - Jan 24, 2019

Move logic to get a Shape related to a template. This allows for cleaner determination if a http path conforms to a template.