A Core Framework for AWSSDKSwift
This is the underlying driver for executing requests to AWS, but you should likely use one of the libraries provided by the package above instead of this!
This client utilizes Swift NIO to power its interactions with AWS. It returns an
EventLoopFuture in order to allow non-blocking frameworks to use this code. Please see the Swift NIO documentation for more details, and please let us know via an Issue if you have questions!
// swift-tools-version:4.2 import PackageDescription let package = Package( name: "MyAWSTool", dependencies: [ .package(url: "https://github.com/swift-aws/aws-sdk-swift", from: "3.0.0"), ], targets: [ .target( name: "MyAWSTool", dependencies: ["CloudFront", "ELB", "ELBV2", "IAM"]), .testTarget( name: "MyAWSToolTests", dependencies: ["MyAWSTool"]), ] )
aws-sdk-swift-core is released under the MIT license. See LICENSE for details.
Help us keep the lights on
3.0.1 - May 19, 2019
- return Future
instead of Void so clients can chain off the response and catch errors
- normalize status code valdiation validate status code on methods with no response
3.0.0 - May 17, 2019
Adam Fowler: Fixed Incorrect stringToSign created for API calls that include query parameters without assignation. Fixed it by ensuring we never send nil parameters to V4 Signer. Added test for signing AWSRequest Fix = sign being percent encoded twice
Joe Smith: Utilize the officially sanctioned docker image to handle tests (#59) Quiet the xcodebuild logs and run in parallel (#64)
Jonathan McAllister: refactor send to return Futures add typalias Future as shorthand for EventLoopFuture ensure url.hostWithPort is not nil update nio to 1.14 fix warning for redundant modifiers refactor getCredential to return a future and move it back to the client class fix HEAD requests throw InvalidRequest Error instead of fatalError if uri is invalid add token to signedURL if the credential has one log resonse http status code for Unhandled errors do not populate a body for restxml requests that do not have a payloadPath. Input is headers only if there is no payloadPath on restxml APIs HEAD request is just a GET request with the HEAD method - remove content-type for head request - use signed url for HEAD requests
noppoman: resurrect user specific endpoint request add default value for endpoint add test for custom endpoint signing
2.0.0-rc.5 - Feb 14, 2019
- properly serialize the payloadPath object as json / xml if the shape has a payload path and it defines a shape (Glacier, etc)
2.0.0-rc.4 - Jan 12, 2019
Jonathan McAllister: handle when path includes query params