HTTPXRequest¶
- class telegram.request.HTTPXRequest(connection_pool_size=1, proxy_url=None, 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
Added in version 20.0.
- Parameters:
connection_pool_size (
int
, optional) –Number of connections to keep in the connection pool. Defaults to
1
.Note
Independent of the value, one additional connection will be reserved for
telegram.Bot.get_updates()
.Legacy name for
proxy
, kept for backward compatibility. Defaults toNone
.Deprecated since version 20.7.
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 todo_request()
. Defaults to5
.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 to5
.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 todo_request()
. Defaults to5
.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 to1
.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 ahttpx.URL
object. For example'http://127.0.0.1:3128'
or'socks5://127.0.0.1:3128'
. Defaults toNone
.Note
The proxy URL can also be set via the environment variables
HTTPS_PROXY
orALL_PROXY
. See the docs of httpx for more info.HTTPS proxies can be configured by passing a
httpx.Proxy
object with a correspondingssl_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 todo_request.write_timeout
ofdo_request()
. Defaults to20
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 bypython-telegram-bot
and all other parameters passed toHTTPXRequest
. The only exception is themedia_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.
- async do_request(url, method, request_data=None, read_timeout=None, write_timeout=None, connect_timeout=None, pool_timeout=None)[source]¶
- property http_version[source]¶
Used HTTP version, see
http_version
.Added in version 20.2.
- Type:
- property read_timeout[source]¶
-
- Returns:
- The default read timeout in seconds as passed to
- Return type: