smithy-rs/rust-runtime/aws-smithy-experimental
Aaron Todd 6a7dcbe695
backport connection poisoning to hyper 1.x client (#3795)
## 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 -->
https://github.com/smithy-lang/smithy-rs/issues/1925

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

See also:
* upstream support: https://github.com/hyperium/hyper-util/pull/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._
2024-08-21 12:46:35 +00:00
..
examples Add FIPS support to Hyper 1.0 Client (#3539) 2024-04-02 18:02:13 +00:00
src backport connection poisoning to hyper 1.x client (#3795) 2024-08-21 12:46:35 +00:00
tests Make `http` v0 usage more evident (#3711) 2024-06-25 14:09:00 +00:00
Cargo.toml backport connection poisoning to hyper 1.x client (#3795) 2024-08-21 12:46:35 +00:00
LICENSE Add Initial Support for Hyper 1.0 (#3461) 2024-03-07 10:57:57 -08:00
README.md Add FIPS support to Hyper 1.0 Client (#3539) 2024-04-02 18:02:13 +00:00
external-types.toml Add Initial Support for Hyper 1.0 (#3461) 2024-03-07 10:57:57 -08:00

README.md

aws-smithy-experimental

Staging ground for experimental new features in the smithy-rs ecosystem.

Hyper 1.0 Support

This crate allows customers to use Hyper 1.0. A valuable consequence of this is access to aws-lc-rs and its FIPS compliant crypto. This is available behind the crypto-aws-lc-fips feature. Note: FIPS support has somewhat complex build requirements, namely CMake and Go.

Crate Stabilization

This crate adds support for Hyper 1.0 (see examples). There a few blockers before stablization:

  1. Expose an API for providing a custom connector. Currently, that API is not exposed because a shim layer is needed to avoid taking a hard dependency on hyper-util.
  2. Add support for poisoning connections in the connection pool. This API needs to be either backported into hyper-util or we need to establish our own client.

This crate is part of the AWS SDK for Rust and the smithy-rs code generator.