kopia lustrzana https://github.com/gd3kr/BlenderGPT
65 wiersze
1.7 KiB
Python
65 wiersze
1.7 KiB
Python
import json
|
|
import os
|
|
import sys
|
|
from typing import (
|
|
TYPE_CHECKING,
|
|
Any,
|
|
Awaitable,
|
|
Callable,
|
|
Iterable,
|
|
Mapping,
|
|
Tuple,
|
|
Union,
|
|
)
|
|
|
|
from multidict import CIMultiDict, CIMultiDictProxy, MultiDict, MultiDictProxy, istr
|
|
from yarl import URL
|
|
|
|
# These are for other modules to use (to avoid repeating the conditional import).
|
|
if sys.version_info >= (3, 8):
|
|
from typing import Final as Final, Protocol as Protocol, TypedDict as TypedDict
|
|
else:
|
|
from typing_extensions import ( # noqa: F401
|
|
Final,
|
|
Protocol as Protocol,
|
|
TypedDict as TypedDict,
|
|
)
|
|
|
|
DEFAULT_JSON_ENCODER = json.dumps
|
|
DEFAULT_JSON_DECODER = json.loads
|
|
|
|
if TYPE_CHECKING: # pragma: no cover
|
|
_CIMultiDict = CIMultiDict[str]
|
|
_CIMultiDictProxy = CIMultiDictProxy[str]
|
|
_MultiDict = MultiDict[str]
|
|
_MultiDictProxy = MultiDictProxy[str]
|
|
from http.cookies import BaseCookie, Morsel
|
|
|
|
from .web import Request, StreamResponse
|
|
else:
|
|
_CIMultiDict = CIMultiDict
|
|
_CIMultiDictProxy = CIMultiDictProxy
|
|
_MultiDict = MultiDict
|
|
_MultiDictProxy = MultiDictProxy
|
|
|
|
Byteish = Union[bytes, bytearray, memoryview]
|
|
JSONEncoder = Callable[[Any], str]
|
|
JSONDecoder = Callable[[str], Any]
|
|
LooseHeaders = Union[Mapping[Union[str, istr], str], _CIMultiDict, _CIMultiDictProxy]
|
|
RawHeaders = Tuple[Tuple[bytes, bytes], ...]
|
|
StrOrURL = Union[str, URL]
|
|
|
|
LooseCookiesMappings = Mapping[str, Union[str, "BaseCookie[str]", "Morsel[Any]"]]
|
|
LooseCookiesIterables = Iterable[
|
|
Tuple[str, Union[str, "BaseCookie[str]", "Morsel[Any]"]]
|
|
]
|
|
LooseCookies = Union[
|
|
LooseCookiesMappings,
|
|
LooseCookiesIterables,
|
|
"BaseCookie[str]",
|
|
]
|
|
|
|
Handler = Callable[["Request"], Awaitable["StreamResponse"]]
|
|
|
|
PathLike = Union[str, "os.PathLike[str]"]
|