-
Notifications
You must be signed in to change notification settings - Fork 660
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
REST marshaler prototype using REST Encoder utility #468
REST marshaler prototype using REST Encoder utility #468
Conversation
Adds utility for encoding HTTP REST values. Will be used by SDK's generated marshalers.
Adds new implementation of JSON encoder for generated marshaler to use in effort to reduce refection in SDK.
ce792b7
to
fc72c96
Compare
service
: prototype operations for APIGateWay and S3 service and use rest encoder utility
service
: prototype operations for APIGateWay and S3 service and use rest encoder utility service
: prototype operations for APIGateWay and S3 service that use rest encoder utility
760f5f0
to
e5fd305
Compare
Modifies the REST v2 encoder to not lower-case values, but use the provided Set/Add headers which will canonicalize the headers.
Should be able to rebase this PR with the feature branch, pulling in the updated header encoding. |
…ng using Rest encoder utility
… Rest encoder utility
e5fd305
to
a9a3f41
Compare
a9a3f41
to
9179aea
Compare
1cd370a
to
875184f
Compare
func marshalPutObjectInputShapeAWSXML(r *aws.Request, input *PutObjectInput) error { | ||
if input.Body != nil { | ||
r.SetReaderBody(input.Body) | ||
} | ||
return nil | ||
} |
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.
We'll want to consider how the request body is used across multiple request attempts. This is handled in an awkward way within the SDK's Request
type, but leads to the SDK requiring the input.Body
to be an io.ReadSeeker
. Ideally the SDK should always except an io.Reader
, and fail if the request requires a hash to be computed of the body, or disable retries if the body cannot be seeked.
875184f
to
2550cb3
Compare
service
: prototype operations for APIGateWay and S3 service that use rest encoder utility
smithy branch includes generated rest (de)serializers. |
Note: Tests fail, due to pending change required to restrict lower casing header's to unmarshaling.
getApiKey
operation for apigateway service andputObject
operation for s3 service. The prototypes use rest encoder utility from PR aws/aws-sdk-go-v2#449