2025-05-16 18:00:22 +04:00

46 lines
1.4 KiB
Python

from collections.abc import Mapping
from typing import ClassVar
from typing_extensions import TypedDict
from ..connection import HTTPConnection, HTTPSConnection
from ..connectionpool import HTTPConnectionPool, HTTPSConnectionPool
from ..poolmanager import PoolManager
class _TYPE_SOCKS_OPTIONS(TypedDict):
socks_version: int
proxy_host: str | None
proxy_port: str | None
username: str | None
password: str | None
rdns: bool
class SOCKSConnection(HTTPConnection):
def __init__(self, _socks_options: _TYPE_SOCKS_OPTIONS, *args, **kwargs) -> None: ...
class SOCKSHTTPSConnection(SOCKSConnection, HTTPSConnection): ...
class SOCKSHTTPConnectionPool(HTTPConnectionPool):
ConnectionCls: ClassVar[type[SOCKSConnection]]
class SOCKSHTTPSConnectionPool(HTTPSConnectionPool):
ConnectionCls: ClassVar[type[SOCKSHTTPSConnection]]
class _ConnectionPoolClasses(TypedDict):
http: type[SOCKSHTTPConnectionPool]
https: type[SOCKSHTTPSConnectionPool]
class SOCKSProxyManager(PoolManager):
# has a class-level default, but is overridden on instances, so not a ClassVar
pool_classes_by_scheme: _ConnectionPoolClasses
proxy_url: str
def __init__(
self,
proxy_url: str,
username: str | None = ...,
password: str | None = ...,
num_pools: int = ...,
headers: Mapping[str, str] | None = ...,
**connection_pool_kw,
) -> None: ...