Currently, setting timeout is unreliable, the whole request time could exceed the set timeout (connect, redirects, etc all using same timeout value).
A method for setting hard request timeout should be provided, so that a request can be reliably terminated in a timeout window.
Example implementation: https://www.baeldung.com/httpclient-timeout#hard_timeout
Note that the above implementation example is for a single request. Each redirect request will reduce the available timeout for that request so that all requests are completed/terminated in the set timeout.
P.S.: after this feature, the original timeout value could be split into connection and socket timeouts to reflect actual usage.
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too