Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support initial-request and initial-response event stream types for RPC-bound protocols #929

Merged
merged 13 commits into from
Aug 23, 2023

Conversation

lauzadis
Copy link
Contributor

@lauzadis lauzadis commented Aug 18, 2023

This PR supports sending initial-request and receiving initial-response messages in event streams using an RPC-bound protocol. See the accompanying PR in aws-sdk-kotlin for more detail: awslabs/aws-sdk-kotlin#1026

Issue #

Helps to close aws-sdk-kotlin/issues/693

Description of changes

  • Add some KotlinxCoroutines Flow types to be used in runtime
  • Bugfix to properly filter nested serializers / deserializers based on desired members

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@lauzadis lauzadis added the no-changelog Indicates that a changelog entry isn't required for a pull request. Use sparingly. label Aug 21, 2023
@lauzadis lauzadis marked this pull request as ready for review August 21, 2023 16:49
@lauzadis lauzadis requested a review from a team as a code owner August 21, 2023 16:49
when (shape) {
is OperationShape -> requiresDocumentSerializer(listOf(shape))
else -> {
val topLevelMembers = shape.members()
.filter { members?.contains(it) ?: true }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: You don't really need this. Just make members non-nullable since it has a default anyway and then you don't need the filter.

val topLevelMembers = members
    .map {...}
    ...

@sonarcloud
Copy link

sonarcloud bot commented Aug 22, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@lauzadis lauzadis merged commit 21aff4e into main Aug 23, 2023
9 checks passed
@lauzadis lauzadis deleted the rpc-event-streams branch August 23, 2023 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
no-changelog Indicates that a changelog entry isn't required for a pull request. Use sparingly.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Support for Kinesis SubscribeToShard
3 participants