-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[ProtocolTests] query sub object serialization refactor #3331
Conversation
9471917
to
f874744
Compare
f874744
to
f405028
Compare
f405028
to
884772d
Compare
33434de
to
a7bd3e0
Compare
730099f
to
e32486a
Compare
f191938
to
dbf4151
Compare
smithy::client::JsonOutcome, | ||
Aws::Client::JsonProtocolErrorMarshaller>, | ||
Aws::Client::ClientWithAsyncTemplateMethods<JsonProtocolClient> | ||
class AWS_JSONPROTOCOL_API JsonProtocolClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods<JsonProtocolClient> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like the smithy refactor rollback had unintended consequences here. how should the "protocol clients" handle this migrations/should they?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd say it was a miss when we did the revert.
Once tests are stable - they will be added to a regular regeneration and build-execution list.
dbf4151
to
eb1fbb3
Compare
#elseif($metadata.findFirstSupportedProtocol() == "ec2") | ||
#set($macro.listLocation = $location) | ||
#elseif($member.shape.listMember.locationName) | ||
#set($macro.listLocation = $location + "." + $member.shape.listMember.locationName) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it handle nested structures?
Meaning if A has B has C has D, will it appropriately generate the accessor location?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One generic comment I have is to consider as food for thought if it's better to generate different classes following appropriate design pattern to handle 'ec2' vs rest cases. The different classes would come from smaller template files for ec2 vs rest cases. This can help maintainability (due to less branching in code) and readability.
eb1fbb3
to
f809703
Compare
Issue #, if available:
Protocol tests implementation
Description of changes:
Refactor query sub-object serialization to avoid template duplication
It generates an ugly diff on base64 blob serialization, but it is expected:
Also it generates an ugly diff on enum serialization, the issue is the same: sometimes we were rfc-encoding enums, sometimes not. While service model owners might be responsible for having their enums rfc-compliant, it is a safer bet for SDK to be compliant and consistent on enum encoding.
Check all that applies:
Check which platforms you have built SDK on to verify the correctness of this PR.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.