HTTPXRequest¶
class telegram.request.HTTPXRequest(connection_pool_size=256, read_timeout=5.0, write_timeout=5.0, connect_timeout=5.0, pool_timeout=1.0, http_version='1.1', socket_options=None, proxy=None, media_write_timeout=20.0, httpx_kwargs=None)[source]¶Bases: telegram.request.BaseRequest
Implementation of BaseRequest using the library httpx.
Use In
Available In
Added in version 20.0.
Changed in version 22.0: Removed the deprecated parameter proxy_url. Use proxy instead.
connection_pool_size (int, optional) –
Number of connections to keep in the connection pool. Defaults to 256.
Changed in version 22.4: Set the default to 256. Stopped applying to httpx.Limits.max_keepalive_connections. Now only applies to httpx.Limits.max_connections. See Resource Limits
read_timeout (float | None, optional) – If passed, specifies the maximum amount of time (in seconds) to wait for a response from Telegram’s server. This value is used unless a different value is passed to do_request(). Defaults to 5.
write_timeout (float | None, optional) –
If passed, specifies the maximum amount of time (in seconds) to wait for a write operation to complete (in terms of a network socket; i.e. POSTing a request or uploading a file). This value is used unless a different value is passed to do_request(). Defaults to 5.
Hint
This timeout is used for all requests except for those that upload media/files. For the latter, media_write_timeout is used.
connect_timeout (float | None, optional) – If passed, specifies the maximum amount of time (in seconds) to wait for a connection attempt to a server to succeed. This value is used unless a different value is passed to do_request(). Defaults to 5.
pool_timeout (float | None, optional) –
If passed, specifies the maximum amount of time (in seconds) to wait for a connection to become available. This value is used unless a different value is passed to do_request(). Defaults to 1.
Warning
With a finite pool timeout, you must expect telegram.error.TimedOut exceptions to be thrown when more requests are made simultaneously than there are connections in the connection pool!
http_version (str, optional) –
If "2" or "2.0", HTTP/2 will be used instead of HTTP/1.1. Defaults to "1.1".
Added in version 20.1.
Changed in version 20.2: Reset the default version to 1.1.
Changed in version 20.5: Accept "2" as a valid value.
socket_options (Collection[tuple], optional) –
Socket options to be passed to the underlying library.
Note
The values accepted by this parameter depend on the operating system. This is a low-level parameter and should only be used if you are familiar with these concepts.
Added in version 20.7.
proxy (str | httpx.Proxy | httpx.URL, optional) –
The URL to a proxy server, a httpx.Proxy object or a httpx.URL object. For example 'http://127.0.0.1:3128' or 'socks5://127.0.0.1:3128'. Defaults to None.
Note
The proxy URL can also be set via the environment variables HTTPS_PROXY or ALL_PROXY. See the docs of httpx for more info.
HTTPS proxies can be configured by passing a httpx.Proxy object with a corresponding ssl_context.
For Socks5 support, additional dependencies are required. Make sure to install PTB via pip install "python-telegram-bot[socks]" in this case.
Socks5 proxies can not be set via environment variables.
Added in version 20.7.
media_write_timeout (float | None, optional) –
Like write_timeout, but used only for requests that upload media/files. This value is used unless a different value is passed to do_request.write_timeout of do_request(). Defaults to 20 seconds.
Added in version 21.0.
httpx_kwargs (dict[str, Any], optional) –
Additional keyword arguments to be passed to the httpx.AsyncClient constructor.
Warning
This parameter is intended for advanced users that want to fine-tune the behavior of the underlying httpx client. The values passed here will override all the defaults set by python-telegram-bot and all other parameters passed to HTTPXRequest. The only exception is the media_write_timeout parameter, which is not passed to the client constructor. No runtime warnings will be issued about parameters that are overridden in this way.
Added in version 21.6.
Used HTTP version, see http_version.
Added in version 20.2.
The default read timeout in seconds as passed to
Return type: async shutdown()[source]¶