Align request_timeout Behavior in Async and Non-Async APIs #387
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.
In the non-Async API, the
requestslibrary is employed. Per therequestslibrary documentation, thetimeoutaccepts either a single float value (representing both connect and read timeouts) or a tuple (specifying connect and read timeouts separately).Conversely, in the Async API, a single float for
request_timeoutrepresents the total timeout (as documented here). When given as a tuple, it corresponds to the connect and total timeouts. This inconsistency exists between the Async and non-Async APIs.Prior to this pull request, the Async API lacked the ability to set a read timeout as in the non-Async API. This limitation was problematic because:
This issue can be remedied by setting the read timeout (i.e., the number of seconds the client waits between bytes received from the server) to a reasonable value like 15 seconds.