Skip to content

backport connection poisoning to hyper 1.x client #3795

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

Merged
merged 1 commit into from
Aug 21, 2024

Conversation

aajtodd
Copy link
Contributor

@aajtodd aajtodd commented Aug 19, 2024

Motivation and Context

#1925

Description

Backports connection poisoning that hyper 0.14 HTTP client has to the hyper 1.x client.

See also:

Testing

Checklist

  • 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.

@aajtodd aajtodd requested review from a team as code owners August 19, 2024 18:33
Copy link

A new generated diff is ready to view.

  • AWS SDK (ignoring whitespace)
  • No codegen difference in the Client Test
  • No codegen difference in the Server Test
  • No codegen difference in the Server Test Python
  • No codegen difference in the Server Test Typescript

A new doc preview is ready to view.

Copy link
Contributor

@landonxjames landonxjames left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Would like some additional comments for context, but not a blocker.

Ok(request) => request,
Err(err) => {
return HttpConnectorFuture::ready(Err(ConnectorError::user(err.into())));
}
};
/*let capture_connection = capture_connection(&mut request);
let capture_connection = capture_connection(&mut request);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel like this recently uncommented out chunk could use a comment for some context. Reading the CaptureConnection docs didn't quite clear it up for me.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is same as the hyper 0.14 implementation. CaptureConnection allows us to capture the actual connection used for the request (once established) and query it for information or in this case poison it so it isn't used again.

@aajtodd aajtodd added this pull request to the merge queue Aug 21, 2024
Merged via the queue into main with commit 6a7dcbe Aug 21, 2024
44 checks passed
@aajtodd aajtodd deleted the atodd/hyper1-conn-poison branch August 21, 2024 13:16
github-merge-queue bot pushed a commit that referenced this pull request Mar 10, 2025
## 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 -->
* #3710
* #1925
* awslabs/aws-sdk-rust#977


## Description
Updates the default HTTPS client to be based off hyper 1.x, rustls, and
aws-lc. See the GitHub discussion:
awslabs/aws-sdk-rust#1257

This PR is a rollup of previously reviewed PRs:

* Refactor the runtime structure and consolidate HTTP client
implementation(s):
[smithy-rs#3866](#3866)
* Migrate HTTP test utils:
[smithy-rs#3888](#3888)
* Update runtime to use new test utils:
[smithy-rs#3898](#3898)
* Backport connection poisoning:
[smithy-rs#3795](#3795)
* Deprecate HTTP 02x presign APIs:
[smithy-rs#3823](#3823)
* Enable hyper1 as default client: [smithy-rs#]()
* Enable hyper1 behind
BMV:[smithy-rs#3973](#3973)
* s2n-tls provider (by Sam):
[smithy-rs#3965](#3965)
* custom TLS config:
[smithy-rs#4032](#4032)

## 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.
- [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._

---------

Co-authored-by: Sam Clark <[email protected]>
Co-authored-by: Landon James <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants