1 from logging import Logger
2 from typing import Any, Callable, Mapping, Match, Pattern, Sequence
4 from .rfc7230 import OBS_TEXT as OBS_TEXT, VCHAR as VCHAR
9 def find_double_newline(s: bytes) -> int: ...
10 def concat(*args: Any) -> str: ...
11 def join(seq: Any, field: str = ...) -> str: ...
12 def group(s: Any) -> str: ...
14 short_days: Sequence[str]
15 long_days: Sequence[str]
18 daymap: Mapping[str, int]
21 monmap: Mapping[str, int]
24 rfc822_reg: Pattern[Any]
26 def unpack_rfc822(m: Match[Any]) -> tuple[int, int, int, int, int, int, int, int, int]: ...
29 rfc850_reg: Pattern[Any]
31 def unpack_rfc850(m: Match[Any]) -> tuple[int, int, int, int, int, int, int, int, int]: ...
33 weekdayname: Sequence[str]
34 monthname: Sequence[str]
36 def build_http_date(when: int) -> str: ...
37 def parse_http_date(d: str) -> int: ...
44 quoted_string: Pattern[Any]
45 quoted_pair: Pattern[Any]
47 def undquote(value: str) -> str: ...
48 def cleanup_unix_socket(path: str) -> None: ...
54 def __init__(self, body: str) -> None: ...
55 def to_response(self) -> tuple[str, Sequence[tuple[str, str]], str]: ...
56 def wsgi_response(self, environ: Any, start_response: Callable[[str, Sequence[tuple[str, str]]], None]) -> str: ...
58 class BadRequest(Error):
62 class RequestHeaderFieldsTooLarge(BadRequest):
66 class RequestEntityTooLarge(BadRequest):
70 class InternalServerError(Error):
74 class ServerNotImplemented(Error):