Make it possible to customize presigned requests (#3385)
## Motivation and Context
This enables the following code:
```rust
let req = client
.get_object()
.bucket("foo")
.key("bar")
.customize()
.mutate_request(|req| {
req.set_uri(req.uri().to_string() + "&a=b")
.expect("failed to update URI")
})
.presigned(static_ps_config)
.await
```
Previously, it wasn't possible to presign a request once customization
had begun.
## Description
- Follow the same pattern as send by introducing an additional trait,
CustomizeablePresign
- change InvokeWithStopPoint to actually _return_ the error if there is
one.
## Testing
New integration test
## Checklist
<!--- If a checkbox below is not applicable, then please DELETE it
rather than leaving it unchecked -->
- [x] I have updated `CHANGELOG.next.toml` if I made changes to the
smithy-rs codegen or runtime crates
- [x] I have updated `CHANGELOG.next.toml` if I made changes to the AWS
SDK, generated SDK code, or SDK runtime crates
- [x] Conditionally generate the presign method
----
_By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice._
Loading
Please sign in to comment