Skip to content

Add event streaming signing support#1051

Closed
sugmanue wants to merge 1 commit intosmithy-lang:mainfrom
sugmanue:sugmanue/event-stream-signing
Closed

Add event streaming signing support#1051
sugmanue wants to merge 1 commit intosmithy-lang:mainfrom
sugmanue:sugmanue/event-stream-signing

Conversation

@sugmanue
Copy link
Contributor

@sugmanue sugmanue commented Mar 4, 2026

Description of changes:

Adds support for signing event streams using SigV4.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

final Map<ShapeId, AuthScheme<?, ?>> supportedAuthSchemes;
final IdentityResolvers identityResolvers;

final ProtocolEventStreamWriter<SerializableStruct, SerializableStruct, Frame<?>> writer;
Copy link
Member

Choose a reason for hiding this comment

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

writer feels too non-descript. Maybe call it eventStreamWriter

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, I will change it.

ApiOperation<I, O> operation,
RequestOverrideConfig overrideConfig
) {
ProtocolEventStreamWriter<SerializableStruct, SerializableStruct, Frame<?>> writer = null;
Copy link
Member

Choose a reason for hiding this comment

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

eventStreamWriter


@Override
public EventEncoderFactory<AwsEventFrame> withFrameProcessor(FrameProcessor<AwsEventFrame> frameProcessor) {
return new AwsEventEncoderFactory(initialEventType,
Copy link
Member

Choose a reason for hiding this comment

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

This throws away the current frame processer rather than composing them. Is that intentional?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, it's intentional. Composing can work too, I just don't feel like the extra layer will give any value for this use.

Copy link
Member

Choose a reason for hiding this comment

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

Seems like we need another version of this that composes, no? Otherwise you wouldn't be able to decorate frame processors (e.g., gzip -> sign).

@sugmanue
Copy link
Contributor Author

sugmanue commented Mar 6, 2026

Closing in favor of #1054

@sugmanue sugmanue closed this Mar 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants