-
Notifications
You must be signed in to change notification settings - Fork 32
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: swift-server/swift-aws-lambda-events
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.5.0
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: swift-server/swift-aws-lambda-events
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 10 commits
- 23 files changed
- 4 contributors
Commits on Nov 7, 2024
-
* fix ci, use swiftlang workflows * typo * typo * fix format * use 6.0-noble for format check * fix format
Configuration menu - View commit details
-
Copy full SHA for bbd2810 - Browse repository at this point
Copy the full SHA bbd2810View commit details
Commits on Nov 12, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 7bb1b04 - Browse repository at this point
Copy the full SHA 7bb1b04View commit details
Commits on Nov 26, 2024
-
* add semantic version check * disable yaml linter * Disable Swift 5.8 unit test * re-enable additional soundness checks * fix shell scripts * fix yaml lint
Configuration menu - View commit details
-
Copy full SHA for ee11dac - Browse repository at this point
Copy the full SHA ee11dacView commit details
Commits on Dec 2, 2024
-
Make S3 Object eTag optional, because it's not always there. ### Motivation: I'm seeing real events without an eTag, which naturally is causing decoding failures. ### Modifications: Made S3 Object eTag optional. ### Result: S3 Object eTag is now optional...
Configuration menu - View commit details
-
Copy full SHA for 3c1161a - Browse repository at this point
Copy the full SHA 3c1161aView commit details
Commits on Dec 3, 2024
-
Add custom Decodable conformance (#80)
Add custom Decodable conformance. Closes #73 Duplicate of #76 created by @twistinside **Motivation:** Absent collections would fail to decode, when in reality it is possible to have empty headers, for example. This allows processing to continue in the context of the Lambda runtime where users can handle the collections as dictated by their code. **Modifications:** Custom Decodable conformance has been added to both API Gateway request objects to optionally decode absent collections to empty collections. Unit testa have been added for the same. **Result:** This will make the swift lambda runtime more accepting of input, allowing processing to proceed in the rare cases where collection fields would be absent in the JSON received by the runtime. This will unlock certain functionality in edge cases such as testing lambda code from API Gateway console with empty headers (the use case that prompted this change). This change will require users to update their code to remove optional handling for the collections involved, potentially also requiring extra logic to validate that the collections they've received aren't empty. --------- Authored-by: twistinside <twistinside@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 334d865 - Browse repository at this point
Copy the full SHA 334d865View commit details
Commits on Dec 18, 2024
-
Update the release.yml file with the latest label changes
Configuration menu - View commit details
-
Copy full SHA for 18c4c26 - Browse repository at this point
Copy the full SHA 18c4c26View commit details
Commits on Dec 19, 2024
-
Adds devcontainer config (#82)
Adds default devcontainer configuration from SSWG: https://github.com/swift-server/swift-devcontainer-template ### Motivation: Developing for linux can be challenging on macOS because some APIs are not available on Linux. By using VSCode and devcontainer you can essentially develop "on linux". ### Modifications: Adds devcontainer config. ### Result: When working in VSCode, you can now easily open the project inside a devcontainer. Co-authored-by: Sébastien Stormacq <sebastien.stormacq@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for d2761dc - Browse repository at this point
Copy the full SHA d2761dcView commit details -
Use only
FoundationEssentials
when possible (#81)Linking against `Foundation` on linux adds a hefty binary size penalty. Mostly due to the ICU data from `FoundationInternationalization`. To address this we conditionally import `FoundationEssentials` instead of `Foundation` if possible and replace `Foundation`-only API with a different implementation. ### Motivation: Smaller binary sizes are better. ### Modifications: - Replace `import Foundation` with `import FoundationEssentials`. - Update date parsing logic to use newer API if available. - Implement a custom parser for RFC5322 dates ### Result: Ability to build the package without linking `Foundation`. --------- Co-authored-by: Sébastien Stormacq <sebastien.stormacq@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 7bcecc5 - Browse repository at this point
Copy the full SHA 7bcecc5View commit details -
Update .gitignore to ignore .devcontainer (#84)
`.devcontainer` should not be versioned to allow developers to customize it without git to interfere
Configuration menu - View commit details
-
Copy full SHA for 20fa5fe - Browse repository at this point
Copy the full SHA 20fa5feView commit details
Commits on Dec 21, 2024
-
Add an encodable version of the APIGatewayResponse (#86)
Add a convenience initializer to the APIGatewayResponse v2 that accepts an Encodable object ### Motivation: Most Lambda developers will return a JSON object when exposing their function through the API Gateway. The current initializer only accepts a `String` body as per the AWS message definition. This obliges all developers to write two lines of code + error handling to encode their object and transform the `Data` to a string. ### Modifications: Add a new initializer that accepts a `body` as `Encodable` ```swift public init<Input: Encodable> ( statusCode: HTTPResponse.Status, headers: HTTPHeaders? = nil, body: Input, isBase64Encoded: Bool? = nil, cookies: [String]? = nil ) throws { ... } ``` ### Result: Developers can now pass a Swift struct to the APIGatewayResponse. ```swift let businessResponse = BusinessResponse(message: "Hello World", code: 200) return APIGatewayV2Response(statusCode: .ok, body: businessResponse) ```
Configuration menu - View commit details
-
Copy full SHA for 0025b1a - Browse repository at this point
Copy the full SHA 0025b1aView commit details
There are no files selected for viewing
Uh oh!
There was an error while loading. Please reload this page.