PHP 8.0.30
Preview: http_exceptions.py Size: 2.53 KB
/proc/thread-self/root/opt/alt/python37/lib64/python3.7/site-packages/aiohttp/http_exceptions.py

"""Low-level http related exceptions."""


from typing import Optional, Union

from .typedefs import _CIMultiDict

__all__ = ("HttpProcessingError",)


class HttpProcessingError(Exception):
    """HTTP error.

    Shortcut for raising HTTP errors with custom code, message and headers.

    code: HTTP Error code.
    message: (optional) Error message.
    headers: (optional) Headers to be sent in response, a list of pairs
    """

    code = 0
    message = ""
    headers = None

    def __init__(
        self,
        *,
        code: Optional[int] = None,
        message: str = "",
        headers: Optional[_CIMultiDict] = None,
    ) -> None:
        if code is not None:
            self.code = code
        self.headers = headers
        self.message = message

    def __str__(self) -> str:
        return f"{self.code}, message={self.message!r}"

    def __repr__(self) -> str:
        return f"<{self.__class__.__name__}: {self}>"


class BadHttpMessage(HttpProcessingError):

    code = 400
    message = "Bad Request"

    def __init__(self, message: str, *, headers: Optional[_CIMultiDict] = None) -> None:
        super().__init__(message=message, headers=headers)
        self.args = (message,)


class HttpBadRequest(BadHttpMessage):

    code = 400
    message = "Bad Request"


class PayloadEncodingError(BadHttpMessage):
    """Base class for payload errors"""


class ContentEncodingError(PayloadEncodingError):
    """Content encoding error."""


class TransferEncodingError(PayloadEncodingError):
    """transfer encoding error."""


class ContentLengthError(PayloadEncodingError):
    """Not enough data for satisfy content length header."""


class LineTooLong(BadHttpMessage):
    def __init__(
        self, line: str, limit: str = "Unknown", actual_size: str = "Unknown"
    ) -> None:
        super().__init__(
            f"Got more than {limit} bytes ({actual_size}) when reading {line}."
        )
        self.args = (line, limit, actual_size)


class InvalidHeader(BadHttpMessage):
    def __init__(self, hdr: Union[bytes, str]) -> None:
        if isinstance(hdr, bytes):
            hdr = hdr.decode("utf-8", "surrogateescape")
        super().__init__(f"Invalid HTTP Header: {hdr}")
        self.hdr = hdr
        self.args = (hdr,)


class BadStatusLine(BadHttpMessage):
    def __init__(self, line: str = "") -> None:
        if not isinstance(line, str):
            line = repr(line)
        super().__init__(f"Bad status line {line!r}")
        self.args = (line,)
        self.line = line


class InvalidURLError(BadHttpMessage):
    pass

Directory Contents

Dirs: 2 × Files: 64

Name Size Perms Modified Actions
.hash DIR
- drwxr-xr-x 2023-12-06 03:19:40
Edit Download
- drwxr-xr-x 2023-12-06 03:19:40
Edit Download
5.38 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
2.64 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
43.87 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
9.06 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
8.00 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
36.02 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
10.29 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
49.66 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
13.25 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
5.98 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
4.61 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
25.63 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
1.78 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
2.53 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
31.83 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
24.76 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
5.84 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
1.13 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
325 B lrw-r--r-- 2021-11-14 20:05:00
Edit Download
31.68 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
13.38 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
2.06 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
7 B lrw-r--r-- 2021-11-14 20:05:00
Edit Download
11.50 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
4.97 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
20.35 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
962 B lrw-r--r-- 2021-11-14 20:05:00
Edit Download
20.72 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
14.95 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
1.72 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
17.51 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
16.86 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
9.87 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
10.53 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
7.39 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
4.04 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
22.02 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
27.23 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
26.92 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
5.90 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
10.93 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
2.01 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
38.62 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
16.85 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
8.57 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
4.88 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
183.17 KB lrw-r--r-- 2021-11-14 20:05:14
Edit Download
170 B lrw-r--r-- 2021-11-14 20:05:00
Edit Download
68 B lrw-r--r-- 2021-11-14 20:05:00
Edit Download
1.96 KB lrw-r--r-- 2021-11-14 20:05:14
Edit Download
207.99 KB lrw-r--r-- 2021-11-14 20:05:15
Edit Download
66.12 KB lrwxr-xr-x 2023-11-14 11:36:54
Edit Download
202 B lrw-r--r-- 2021-11-14 20:05:00
Edit Download
1.02 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
955.26 KB lrw-r--r-- 2021-11-14 20:05:16
Edit Download
523.54 KB lrwxr-xr-x 2023-11-14 11:36:54
Edit Download
25.95 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
216.08 KB lrw-r--r-- 2021-11-14 20:05:14
Edit Download
61.20 KB lrwxr-xr-x 2023-11-14 11:36:54
Edit Download
4.47 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
135.18 KB lrw-r--r-- 2021-11-14 20:05:15
Edit Download
37.37 KB lrwxr-xr-x 2023-11-14 11:36:54
Edit Download
1.52 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download
6.71 KB lrw-r--r-- 2021-11-14 20:05:00
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).