1from __future__ import annotations
2
3import typing as t
4
5from .accept import Accept as Accept
6from .accept import LanguageAccept as LanguageAccept
7from .accept import MIMEAccept as MIMEAccept
8from .auth import Authorization as Authorization
9from .auth import WWWAuthenticate as WWWAuthenticate
10from .cache_control import RequestCacheControl as RequestCacheControl
11from .cache_control import ResponseCacheControl as ResponseCacheControl
12from .csp import ContentSecurityPolicy as ContentSecurityPolicy
13from .etag import ETags as ETags
14from .file_storage import FileMultiDict as FileMultiDict
15from .file_storage import FileStorage as FileStorage
16from .headers import EnvironHeaders as EnvironHeaders
17from .headers import Headers as Headers
18from .mixins import ImmutableDictMixin as ImmutableDictMixin
19from .mixins import ImmutableHeadersMixin as ImmutableHeadersMixin
20from .mixins import ImmutableListMixin as ImmutableListMixin
21from .mixins import ImmutableMultiDictMixin as ImmutableMultiDictMixin
22from .mixins import UpdateDictMixin as UpdateDictMixin
23from .range import ContentRange as ContentRange
24from .range import IfRange as IfRange
25from .range import Range as Range
26from .structures import CallbackDict as CallbackDict
27from .structures import CombinedMultiDict as CombinedMultiDict
28from .structures import HeaderSet as HeaderSet
29from .structures import ImmutableDict as ImmutableDict
30from .structures import ImmutableList as ImmutableList
31from .structures import ImmutableMultiDict as ImmutableMultiDict
32from .structures import ImmutableTypeConversionDict as ImmutableTypeConversionDict
33from .structures import iter_multi_items as iter_multi_items
34from .structures import MultiDict as MultiDict
35from .structures import TypeConversionDict as TypeConversionDict
36
37
38def __getattr__(name: str) -> t.Any:
39 if name == "CharsetAccept":
40 import warnings
41
42 from .accept import _CharsetAccept
43
44 warnings.warn(
45 "The 'CharsetAccept' class is deprecated and will be removed in"
46 " Werkzeug 3.3. The 'Accept-Charset' header is not sent by"
47 " browsers, and UTF-8 is assumed.",
48 DeprecationWarning,
49 stacklevel=2,
50 )
51 return _CharsetAccept
52
53 raise AttributeError(name)