1from email.message import Message 2from typing import IO, Mapping, Optional, Tuple, Union 3from urllib.response import addinfourl 4 5# Stubs for urllib.error 6 7class URLError(IOError): 8 reason: Union[str, BaseException] 9 def __init__(self, reason: Union[str, BaseException], filename: Optional[str] = ...) -> None: ... 10 11class HTTPError(URLError, addinfourl): 12 code: int 13 def __init__(self, url: str, code: int, msg: str, hdrs: Mapping[str, str], fp: Optional[IO[bytes]]) -> None: ... 14 15class ContentTooShortError(URLError): 16 content: Tuple[str, Message] 17 def __init__(self, message: str, content: Tuple[str, Message]) -> None: ... 18