Refactor middleware to use new operation::Response
instead of http::Response<SdkBody>
#635
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation and Context
This is progress towards #121.
This change is needed to be able to support Event Streams, since we need to track the original request's signature through to the first streaming event, as event frames are recursively signed with the previous event's or top-level request's signature.
Description
operation::Response
which attaches aPropertyBag
to anhttp::Response<SdkBody>
.ParseHttpResponse
'sparse_unloaded
to take anoperation::Response
instead of anhttp::Response<SdkBody>
so that it has access to the property bag. This isn't needed for the signature propagation, but may be needed to track theBody::channel
that's created when attaching the input event stream to the HTTP request.operation::Request
to properties/http so that they're consistent withoperation::Response
, and so that config doesn't get confused with the top-level generated serviceConfig
.operation::Request
Testing
cargo test
,cargo clippy
onrust-runtime
andaws/rust-runtime
g codegen:test && g codegen-test:test && g aws:sdk:assemble
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.