HTTP request timeout
The timeout object is used to control the maximum time to wait for an HTTP request to complete.
We use the
Timeout from the
httpx library as the value.
More details on the use of timeout can be found in the documentation for the httpx library.
There are four different types of timeouts that may occur. These are
connecttimeout specifies the maximum amount of time to wait until a socket connection to the requested host is established.
readtimeout specifies the maximum duration to wait for a chunk of data to be received (for example, a chunk of the response body).
writetimeout specifies the maximum duration to wait for a chunk of data to be sent (for example, a chunk of the request body).
pooltimeout specifies the maximum duration to wait for acquiring a connection from the connection pool.
All fields are of type float and contain values in seconds.
How to set a value
Let's look at the ways of setting a value using the example of rest extension configuration.
If no value is set:
5 seconds timeout will be applied by default:
httpx.Timeout(connect=5.0, read=5.0, write=5.0, pool=5.0)
You can use a short syntax to fill the values of all fields with the same value:
So the value of all fields will be filled with the value of 6.5 seconds
httpx.Timeout(connect=6.5, read=6.5, write=6.5, pool=6.5)
You can fill the value of selected fields:
The values of the other fields will be filled in by default:
httpx.Timeout(connect=5.0, read=1.0, write=1.0, pool=5.0)
The default value can also be changed:
For the above example, we obtain the following value:
httpx.Timeout(connect=3.5, read=2.0, write=2.0, pool=2.0)