1 from collections.abc import Callable
2 from collections.abc import Iterable
3 from collections.abc import Mapping
4 from typing import TypeVar
6 from .mixins import ImmutableDictMixin
7 from .mixins import UpdateDictMixin
10 _CPT = TypeVar("_CPT", str, int, bool)
13 def cache_control_property(key: str, empty: _OptCPT, type: type[_CPT]) -> property: ...
15 class _CacheControl(UpdateDictMixin[str, _OptCPT], dict[str, _OptCPT]):
19 values: Mapping[str, _OptCPT] | Iterable[tuple[str, _OptCPT]] = (),
20 on_update: Callable[[_CacheControl], None] | None = None,
23 def no_cache(self) -> bool | None: ...
25 def no_cache(self, value: bool | None) -> None: ...
27 def no_cache(self) -> None: ...
29 def no_store(self) -> bool | None: ...
31 def no_store(self, value: bool | None) -> None: ...
33 def no_store(self) -> None: ...
35 def max_age(self) -> int | None: ...
37 def max_age(self, value: int | None) -> None: ...
39 def max_age(self) -> None: ...
41 def no_transform(self) -> bool | None: ...
43 def no_transform(self, value: bool | None) -> None: ...
45 def no_transform(self) -> None: ...
46 def _get_cache_value(self, key: str, empty: T | None, type: type[T]) -> T: ...
47 def _set_cache_value(self, key: str, value: T | None, type: type[T]) -> None: ...
48 def _del_cache_value(self, key: str) -> None: ...
49 def to_header(self) -> str: ...
51 def cache_property(key: str, empty: _OptCPT, type: type[_CPT]) -> property: ...
53 class RequestCacheControl(ImmutableDictMixin[str, _OptCPT], _CacheControl):
55 def max_stale(self) -> int | None: ...
57 def max_stale(self, value: int | None) -> None: ...
59 def max_stale(self) -> None: ...
61 def min_fresh(self) -> int | None: ...
63 def min_fresh(self, value: int | None) -> None: ...
65 def min_fresh(self) -> None: ...
67 def only_if_cached(self) -> bool | None: ...
68 @only_if_cached.setter
69 def only_if_cached(self, value: bool | None) -> None: ...
70 @only_if_cached.deleter
71 def only_if_cached(self) -> None: ...
73 class ResponseCacheControl(_CacheControl):
75 def public(self) -> bool | None: ...
77 def public(self, value: bool | None) -> None: ...
79 def public(self) -> None: ...
81 def private(self) -> bool | None: ...
83 def private(self, value: bool | None) -> None: ...
85 def private(self) -> None: ...
87 def must_revalidate(self) -> bool | None: ...
88 @must_revalidate.setter
89 def must_revalidate(self, value: bool | None) -> None: ...
90 @must_revalidate.deleter
91 def must_revalidate(self) -> None: ...
93 def proxy_revalidate(self) -> bool | None: ...
94 @proxy_revalidate.setter
95 def proxy_revalidate(self, value: bool | None) -> None: ...
96 @proxy_revalidate.deleter
97 def proxy_revalidate(self) -> None: ...
99 def s_maxage(self) -> int | None: ...
101 def s_maxage(self, value: int | None) -> None: ...
103 def s_maxage(self) -> None: ...
105 def immutable(self) -> bool | None: ...
107 def immutable(self, value: bool | None) -> None: ...
109 def immutable(self) -> None: ...