Skip to content
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

Allow configuring the TLS handshake timeout for HTTP clients. #178

Open
Tracked by #114
tobz opened this issue Aug 12, 2024 · 0 comments
Open
Tracked by #114

Allow configuring the TLS handshake timeout for HTTP clients. #178

tobz opened this issue Aug 12, 2024 · 0 comments
Labels
area/io General I/O and networking. effort/intermediate Involves changes that can be worked on by non-experts but might require guidance. status/blocked Blocked on another issue or upstream dependency. type/enhancement An enhancement in functionality or support.

Comments

@tobz
Copy link
Member

tobz commented Aug 12, 2024

Context

When building an HTTP client, we should be able to configure a timeout specifically for establishing the TLS handshake with the downstream target system. This is a simple assurance against extended delays trying to connect to unresponsive systems.

Notes

There's no easy way (currently) to do this, as the way hyper-rustls/tokio-rustls are composed has the actual underlying connect future, and the TLS handshake future, all wrapped up in one without any existing ability to configure a timeout.

We would likely need to upstream support for this to tokio-rustls, to even expose a way to configure such a timeout, and then also to hyper-rustls to expose that configuration method in its own HttpsConnectorBuilder.

@tobz tobz added area/io General I/O and networking. type/enhancement An enhancement in functionality or support. effort/intermediate Involves changes that can be worked on by non-experts but might require guidance. status/blocked Blocked on another issue or upstream dependency. labels Aug 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/io General I/O and networking. effort/intermediate Involves changes that can be worked on by non-experts but might require guidance. status/blocked Blocked on another issue or upstream dependency. type/enhancement An enhancement in functionality or support.
Projects
None yet
Development

No branches or pull requests

1 participant