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

99 lines
3.4 KiB
Python

import io
from collections.abc import Iterable, Iterator, Mapping
from http.client import HTTPMessage as _HttplibHTTPMessage, HTTPResponse as _HttplibHTTPResponse
from typing import IO, Any
from typing_extensions import Literal, Self, TypeAlias
from urllib3.connectionpool import HTTPConnection
from . import HTTPConnectionPool, Retry
from ._collections import HTTPHeaderDict
_TYPE_BODY: TypeAlias = bytes | IO[Any] | Iterable[bytes] | str
class DeflateDecoder:
def __getattr__(self, name: str) -> Any: ...
def decompress(self, data: bytes) -> bytes: ...
class GzipDecoderState:
FIRST_MEMBER: Literal[0]
OTHER_MEMBERS: Literal[1]
SWALLOW_DATA: Literal[2]
class GzipDecoder:
def __getattr__(self, name: str) -> Any: ...
def decompress(self, data: bytes) -> bytes: ...
# This class is only available if
# `brotli` is available for import.
class BrotliDecoder:
def flush(self) -> bytes: ...
class MultiDecoder:
def __init__(self, modes: str) -> None: ...
def flush(self) -> bytes: ...
def decompress(self, data: bytes) -> bytes: ...
class HTTPResponse(io.IOBase):
CONTENT_DECODERS: list[str]
REDIRECT_STATUSES: list[int]
headers: HTTPHeaderDict
status: int
version: int
reason: str | None
strict: int
decode_content: bool
retries: Retry | None
enforce_content_length: bool
auto_close: bool
msg: _HttplibHTTPMessage | None
chunked: bool
chunk_left: int | None
length_remaining: int | None
def __init__(
self,
body: _TYPE_BODY = "",
headers: Mapping[str, str] | Mapping[bytes, bytes] | None = None,
status: int = 0,
version: int = 0,
reason: str | None = None,
strict: int = 0,
preload_content: bool = True,
decode_content: bool = True,
original_response: _HttplibHTTPResponse | None = None,
pool: HTTPConnectionPool | None = None,
connection: HTTPConnection | None = None,
msg: _HttplibHTTPMessage | None = None,
retries: Retry | None = None,
enforce_content_length: bool = False,
request_method: str | None = None,
request_url: str | None = None,
auto_close: bool = True,
) -> None: ...
def get_redirect_location(self) -> Literal[False] | str | None: ...
def release_conn(self) -> None: ...
def drain_conn(self) -> None: ...
@property
def data(self) -> bytes | Any: ...
@property
def connection(self) -> HTTPConnection | Any: ...
def isclosed(self) -> bool: ...
def tell(self) -> int: ...
def read(self, amt: int | None = None, decode_content: bool | None = None, cache_content: bool = False) -> bytes: ...
def stream(self, amt: int | None = 65536, decode_content: bool | None = None) -> Iterator[bytes]: ...
@classmethod
def from_httplib(cls, r: _HttplibHTTPResponse, **response_kw: Any) -> Self: ...
def getheaders(self) -> HTTPHeaderDict: ...
def getheader(self, name, default=None) -> str | None: ...
def info(self) -> HTTPHeaderDict: ...
def close(self) -> None: ...
@property
def closed(self) -> bool: ...
def fileno(self) -> int: ...
def flush(self) -> None: ...
def readable(self) -> bool: ...
def readinto(self, b: bytearray) -> int: ...
def supports_chunked_reads(self) -> bool: ...
def read_chunked(self, amt: int | None = None, decode_content: bool | None = None) -> Iterator[bytes]: ...
def geturl(self) -> str | None: ...