Add connection timeout to connect_with_connector_lazy #1619
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently connect_with_connector_lazy doesn't respect connection timeouts. This means that if you have a misbehaving or unresponsive server, a request that's connecting lazily with a custom connector can hang for the client without timing out. This commit adds the timeout to the custom connector if it has been set on the endpoint, bringing the behaviour in line with other connect methods.
Motivation
This brings the behaviour of
connect_with_connector_lazy
in line with the other connect methods that respect the connection time set on the Endpoint.This solves instances where users set a connection time out on an endpoint, but use a custom connector to connect lazily. If the server fails to respond to the connection request at all then the connection attempt (and request) will hang without ever failing.
Solution
The solution is to use the same
hyper_timeout
connector to add a timeout.