hikari.impl.config#
Data class containing network-related configuration settings.
Module Contents#
- class hikari.impl.config.BasicAuthHeader[source]#
An object that can be set as a producer for a basic auth header.
- class hikari.impl.config.CacheSettings[source]#
Bases:
hikari.api.config.CacheSettings
Settings to control the cache.
- components: hikari.api.config.CacheComponents[source]#
The cache components to use.
Defaults to
hikari.api.cache.CacheComponents.ALL
.
- class hikari.impl.config.HTTPSettings[source]#
Bases:
hikari.api.config.HTTPSettings
Settings to control HTTP clients.
- enable_cleanup_closed: bool[source]#
Toggle whether to clean up closed transports.
This defaults to
True
to combat various protocol and asyncio issues present when using Microsoft Windows. If you are sure you know what you are doing, you may instead set this toFalse
to disable this behavior internally.
- force_close_transports: bool[source]#
Toggle whether to force close transports on shut down.
This defaults to
True
to combat various protocol and asyncio issues present when using Microsoft Windows. If you are sure you know what you are doing, you may instead set this toFalse
to disable this behavior internally.
- max_redirects: Optional[int][source]#
Behavior for handling redirect HTTP responses.
If a
int
, allow following redirects from3xx
HTTP responses for up to this many redirects. Exceeding this value will raise an exception.If
None
, then disallow any redirects.The default is to disallow this behavior for security reasons.
Generally, it is safer to keep this disabled. You may find a case in the future where you need to enable this if Discord change their URL without warning.
Note
This will only apply to the REST API. WebSockets remain unaffected by any value set here.
- ssl: ssl.SSLContext[source]#
SSL context to use.
This may be assigned a
bool
or anssl.SSLContext
object.If assigned to
True
, a default SSL context is generated by this class that will enforce SSL verification. This is then stored in this field.If
False
, then a default SSL context is generated by this class that will NOT enforce SSL verification. This is then stored in this field.If an instance of
ssl.SSLContext
, then this context will be used.Warning
Setting a custom value here may have security implications, or may result in the application being unable to connect to Discord at all.
Warning
Disabling SSL verification is almost always unadvised. This is because your application will no longer check whether you are connecting to Discord, or to some third party spoof designed to steal personal credentials such as your application token.
There may be cases where SSL certificates do not get updated, and in this case, you may find that disabling this explicitly allows you to work around any issues that are occurring, but you should immediately seek a better solution where possible if any form of personal security is in your interest.
- timeouts: HTTPTimeoutSettings[source]#
Settings to control HTTP request timeouts.
The behaviour if this is not explicitly defined is to use sane defaults that are most efficient for optimal use of this library.
- class hikari.impl.config.HTTPTimeoutSettings[source]#
Settings to control HTTP request timeouts.
- acquire_and_connect: Optional[float][source]#
Timeout for
request_socket_connect
PLUS connection acquisition.By default, this has no timeout allocated. Setting it to
None
will disable it.
- request_socket_connect: Optional[float][source]#
Timeout for connecting a socket.
By default, this has no timeout allocated. Setting it to
None
will disable it.
- class hikari.impl.config.ProxySettings[source]#
Bases:
hikari.api.config.ProxySettings
Settings for configuring an HTTP-based proxy.
- property all_headers: Optional[hikari.internal.data_binding.Headers][source]#
Return all proxy headers.
Will be
None
if no headers are to be send with any request.
- auth: Any[source]#
Authentication header value to use.
When cast to a
str
, this should provide the full value for the authentication header.If you are using basic auth, you should consider using the
BasicAuthHeader
helper object here, as this will provide any transformations you may require into a base64 string.The default is to have this set to
None
, which will result in no authentication being provided.
- headers: Optional[hikari.internal.data_binding.Headers][source]#
Additional headers to use for requests via a proxy, if required.
- trust_env: bool[source]#
Toggle whether to look for a
netrc
file or environment variables.If
True
, and nourl
is given on this object, thenHTTP_PROXY
andHTTPS_PROXY
will be used from the environment variables, or anetrc
file may be read to determine credentials.If
False
, then this information is instead ignored.Defaults to
False
to prevent potentially unwanted behavior.Note
For more details of using
netrc
, visit: <https://www.gnu.org/software/inetutils/manual/html_node/The-_002enetrc-file.html>