aws/s2n-tls

Hyper 1.x compatibility crate

Opened this issue · 0 comments

Problem:

It's currently difficult for s2n-tls to be used with the hyper HTTP library. Some TLS implementations provide compatibility crates which makes integrating with hyper easier. For example, hyper-rustls allows rustls to easily be used with hyper, and hyper-tls similarly allows native-tls to be used.

Solution:

Provide an s2n-tls hyper compatibility crate that allows s2n-tls to be easily used as the TLS provider in hyper clients.

Project plan:

  • #4617
    Provide an HttpsConnector struct that implements tower_service::Service for s2n-tls-tokio TlsStreams, allowing the HttpsConnector to be provided to the hyper client builder.
  • Add a testing framework that allows HTTPS requests to be sent/received and verified.
  • Provide the ability to send requests over TCP via the http scheme in addition to TLS via the https scheme.
  • Add support/tests for IPv6.
  • Add support for HTTP/2.
  • Stabilize crate.