-
Notifications
You must be signed in to change notification settings - Fork 187
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
Hyper Upgrade #1925
Comments
I spent some time working on this this week. I was able to get Further work that is unblocked right now:
Prerequisites before continuing:
Work that can be done after prerequisites:
|
Note: On the |
Findings so far:
Work in progress test matrix:
|
## Motivation and Context - #1925 ## Description This adds a minimal Hyper client, focusing on not exposing any unstable APIs. For this reason, the `Client::Builder` customization API is not exposed anymore. We do this because at some point in the future, we will likely move away from the hyper-util based Client. The code for this was lifted directly from the Hyper 0.14 implementation but updated for new traits. However, this does come with some new valuable pieces: 1. Support for aws-lc (no FIPS yet) 2. Support for providing a custom DNS resolver ## Testing - E2E test with Hyper. A Canary should also be added (awslabs/aws-sdk-rust#1089) ## Checklist <!--- If a checkbox below is not applicable, then please DELETE it rather than leaving it unchecked --> - [ ] I have updated `CHANGELOG.next.toml` if I made changes to the smithy-rs codegen or runtime crates - [ ] I have updated `CHANGELOG.next.toml` if I made changes to the AWS SDK, generated SDK code, or SDK runtime crates ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._
## Motivation and Context <!--- Why is this change required? What problem does it solve? --> <!--- If it fixes an open issue, please link to the issue here --> #1925 ## Description <!--- Describe your changes in detail --> Implements the v1 `http_body::Body` trait for `PathBody`. Part of the ongoing hyper v1 upgrade. This also moves a pre-1.0 impl into its own module. ## Testing <!--- Please describe in detail how you tested your changes --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. --> I ported the tests too ## 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 ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._
## Motivation and Context <!--- Why is this change required? What problem does it solve? --> <!--- If it fixes an open issue, please link to the issue here --> #1925 ## Description Backports connection poisoning that hyper 0.14 HTTP client has to the hyper 1.x client. See also: * upstream support: hyperium/hyper-util#121 ## Testing <!--- Please describe in detail how you tested your changes --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. --> ## Checklist <!--- If a checkbox below is not applicable, then please DELETE it rather than leaving it unchecked --> - [X] For changes to the smithy-rs codegen or runtime crates, I have created a changelog entry Markdown file in the `.changelog` directory, specifying "client," "server," or both in the `applies_to` key. ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._
## Motivation and Context * #1925 * awslabs/aws-sdk-rust#977 ## Description Deprecate http-02x APIs from inlineable `PresignedRequest` API. These should have been feature gated originally but they weren't. For now we'll mark them deprecated and encourage people to move to the 1.x equivalents. ## Checklist <!--- If a checkbox below is not applicable, then please DELETE it rather than leaving it unchecked --> - [x ] For changes to the AWS SDK, generated SDK code, or SDK runtime crates, I have created a changelog entry Markdown file in the `.changelog` directory, specifying "aws-sdk-rust" in the `applies_to` key. ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._
## Motivation and Context * smithy-lang/smithy-rs#1925 * #977 ## Description Deprecate http-02x APIs from inlineable `PresignedRequest` API. These should have been feature gated originally but they weren't. For now we'll mark them deprecated and encourage people to move to the 1.x equivalents. ## Checklist <!--- If a checkbox below is not applicable, then please DELETE it rather than leaving it unchecked --> - [x ] For changes to the AWS SDK, generated SDK code, or SDK runtime crates, I have created a changelog entry Markdown file in the `.changelog` directory, specifying "aws-sdk-rust" in the `applies_to` key. ---- _By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice._
This tracks progress on the upgrade to Hyper 1.0
Many of these changes are prototyped in this branch which can send an E2E request with RusTLS
Implementation Tasks
Upstream Changes
capture_connection
andpoison
tohyper-util
SDK changes
ByteStream
dvr
AwsChunkedBody
—the Frame API changes the flow here a little bitSpawn
toAwsSmithyAsync
—bridge this with Hyper Executor (you now must provide an executor to create a Hyper builder)Testing Tasks
The text was updated successfully, but these errors were encountered: