Coverage for fastapi/params.py: 100%
103 statements
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-06 08:24 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-06 08:24 +0000
1import warnings 1abcdef
2from enum import Enum 1abcdef
3from typing import Any, Callable, Dict, List, Optional, Sequence, Union 1abcdef
5from fastapi.openapi.models import Example 1abcdef
6from pydantic.fields import FieldInfo 1abcdef
7from typing_extensions import Annotated, deprecated 1abcdef
9from ._compat import ( 1abcdef
10 PYDANTIC_V2,
11 PYDANTIC_VERSION_MINOR_TUPLE,
12 Undefined,
13)
15_Unset: Any = Undefined 1abcdef
18class ParamTypes(Enum): 1abcdef
19 query = "query" 1abcdef
20 header = "header" 1abcdef
21 path = "path" 1abcdef
22 cookie = "cookie" 1abcdef
25class Param(FieldInfo): 1abcdef
26 in_: ParamTypes 1abcdef
28 def __init__( 1abcdef
29 self,
30 default: Any = Undefined,
31 *,
32 default_factory: Union[Callable[[], Any], None] = _Unset,
33 annotation: Optional[Any] = None,
34 alias: Optional[str] = None,
35 alias_priority: Union[int, None] = _Unset,
36 # TODO: update when deprecating Pydantic v1, import these types
37 # validation_alias: str | AliasPath | AliasChoices | None
38 validation_alias: Union[str, None] = None,
39 serialization_alias: Union[str, None] = None,
40 title: Optional[str] = None,
41 description: Optional[str] = None,
42 gt: Optional[float] = None,
43 ge: Optional[float] = None,
44 lt: Optional[float] = None,
45 le: Optional[float] = None,
46 min_length: Optional[int] = None,
47 max_length: Optional[int] = None,
48 pattern: Optional[str] = None,
49 regex: Annotated[
50 Optional[str],
51 deprecated(
52 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
53 ),
54 ] = None,
55 discriminator: Union[str, None] = None,
56 strict: Union[bool, None] = _Unset,
57 multiple_of: Union[float, None] = _Unset,
58 allow_inf_nan: Union[bool, None] = _Unset,
59 max_digits: Union[int, None] = _Unset,
60 decimal_places: Union[int, None] = _Unset,
61 examples: Optional[List[Any]] = None,
62 example: Annotated[
63 Optional[Any],
64 deprecated(
65 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
66 "although still supported. Use examples instead."
67 ),
68 ] = _Unset,
69 openapi_examples: Optional[Dict[str, Example]] = None,
70 deprecated: Union[deprecated, str, bool, None] = None,
71 include_in_schema: bool = True,
72 json_schema_extra: Union[Dict[str, Any], None] = None,
73 **extra: Any,
74 ):
75 if example is not _Unset: 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
76 warnings.warn( 1ghijklmnopqr
77 "`example` has been deprecated, please use `examples` instead",
78 category=DeprecationWarning,
79 stacklevel=4,
80 )
81 self.example = example 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
82 self.include_in_schema = include_in_schema 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
83 self.openapi_examples = openapi_examples 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
84 kwargs = dict( 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
85 default=default,
86 default_factory=default_factory,
87 alias=alias,
88 title=title,
89 description=description,
90 gt=gt,
91 ge=ge,
92 lt=lt,
93 le=le,
94 min_length=min_length,
95 max_length=max_length,
96 discriminator=discriminator,
97 multiple_of=multiple_of,
98 allow_inf_nan=allow_inf_nan,
99 max_digits=max_digits,
100 decimal_places=decimal_places,
101 **extra,
102 )
103 if examples is not None: 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
104 kwargs["examples"] = examples 1aghbijckldmneopfqr
105 if regex is not None: 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
106 warnings.warn( 2dcecfcgcmcncocpcvcwcxcycEcFcGcHc
107 "`regex` has been deprecated, please use `pattern` instead",
108 category=DeprecationWarning,
109 stacklevel=4,
110 )
111 current_json_schema_extra = json_schema_extra or extra 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
112 if PYDANTIC_VERSION_MINOR_TUPLE < (2, 7): 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
113 self.deprecated = deprecated 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
114 else:
115 kwargs["deprecated"] = deprecated 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
116 if PYDANTIC_V2: 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
117 kwargs.update( 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
118 {
119 "annotation": annotation,
120 "alias_priority": alias_priority,
121 "validation_alias": validation_alias,
122 "serialization_alias": serialization_alias,
123 "strict": strict,
124 "json_schema_extra": current_json_schema_extra,
125 }
126 )
127 kwargs["pattern"] = pattern or regex 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
128 else:
129 kwargs["regex"] = pattern or regex 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
130 kwargs.update(**current_json_schema_extra) 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
131 use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset} 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
133 super().__init__(**use_kwargs) 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
135 def __repr__(self) -> str: 1abcdef
136 return f"{self.__class__.__name__}({self.default})" 2a 6 ^d_d`d{d|d}d~daebecedeeefegehe7 8 9 ! # $ % iejekelemeneoepeqe=b?b@b[b]bEgFgGgHgIg' reseteueveg h ( ) wexeyezeAeBes t u b * DeEeFeGeHeIeJeKeLeMeNeOePeQeRe+ , - . / : ; SeTeUeVeWeXeYeZe0e^b_b`b{b|bJgKgLgMgNg= 1e2e3e4e5ei j ? @ 6e7e8e9e!e#ev w x c [ %e'e(e)e*e+e,e-e.e/e:e;e=e?e@e] ^ _ ` { | } [e]e^e_e`e{e|e}e~e}b~bacbcccOgPgQgRgSg~ afbfcfdfefdcecfcgck l abbbffgfhfifjfkfy z A d cbmfnfofpfqfrfsftfufvfwfxfyfzfAfdbebfbgbhbibjbBfCfDfEfFfGfHfIfJfhcicjckclcTgUgVgWgXgkbKfLfMfNfOfmcncocpcm n lbmbPfQfRfSfTfUfB C D e nbWfXfYfZf0f1f2f3f4f5f6f7f8f9f!fobpbqbrbsbtbub#f$f%f'f(f)f*f+f,fqcrcsctcucYgZg0g1g2gvb-f.f/f:f;fvcwcxcyco p wbxb=f?f@f[f]f^fE F G f yb`f{f|f}f~fagbgcgdgegfggghgigjgzbAbBbCbDbEbFbkglgmgngogpgqgrgsgzcAcBcCcDc3g4g5g6g7gGbtgugvgwgxgEcFcGcHcq r HbIbygzgAgBgCgDgH I J
139class Path(Param): 1abcdef
140 in_ = ParamTypes.path 1abcdef
142 def __init__( 1abcdef
143 self,
144 default: Any = ...,
145 *,
146 default_factory: Union[Callable[[], Any], None] = _Unset,
147 annotation: Optional[Any] = None,
148 alias: Optional[str] = None,
149 alias_priority: Union[int, None] = _Unset,
150 # TODO: update when deprecating Pydantic v1, import these types
151 # validation_alias: str | AliasPath | AliasChoices | None
152 validation_alias: Union[str, None] = None,
153 serialization_alias: Union[str, None] = None,
154 title: Optional[str] = None,
155 description: Optional[str] = None,
156 gt: Optional[float] = None,
157 ge: Optional[float] = None,
158 lt: Optional[float] = None,
159 le: Optional[float] = None,
160 min_length: Optional[int] = None,
161 max_length: Optional[int] = None,
162 pattern: Optional[str] = None,
163 regex: Annotated[
164 Optional[str],
165 deprecated(
166 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
167 ),
168 ] = None,
169 discriminator: Union[str, None] = None,
170 strict: Union[bool, None] = _Unset,
171 multiple_of: Union[float, None] = _Unset,
172 allow_inf_nan: Union[bool, None] = _Unset,
173 max_digits: Union[int, None] = _Unset,
174 decimal_places: Union[int, None] = _Unset,
175 examples: Optional[List[Any]] = None,
176 example: Annotated[
177 Optional[Any],
178 deprecated(
179 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
180 "although still supported. Use examples instead."
181 ),
182 ] = _Unset,
183 openapi_examples: Optional[Dict[str, Example]] = None,
184 deprecated: Union[deprecated, str, bool, None] = None,
185 include_in_schema: bool = True,
186 json_schema_extra: Union[Dict[str, Any], None] = None,
187 **extra: Any,
188 ):
189 assert default is ..., "Path parameters cannot have a default value" 2a ]d7 8 9 ! # $ % ' g h ( ) s t u b Ce+ , - . / : ; = i j ? @ v w x c $e] ^ _ ` { | } ~ k l abbby z A d lfdbebfbgbhbibjbkbm n lbmbB C D e Vfobpbqbrbsbtbubvbo p wbxbE F G f _fzbAbBbCbDbEbFbGbq r HbIbH I J
190 self.in_ = self.in_ 2a 7 8 9 ! # $ % ' g h ( ) s t u b + , - . / : ; = i j ? @ v w x c ] ^ _ ` { | } ~ k l abbby z A d dbebfbgbhbibjbkbm n lbmbB C D e obpbqbrbsbtbubvbo p wbxbE F G f zbAbBbCbDbEbFbGbq r HbIbH I J
191 super().__init__( 2a 7 8 9 ! # $ % ' g h ( ) s t u b + , - . / : ; = i j ? @ v w x c ] ^ _ ` { | } ~ k l abbby z A d dbebfbgbhbibjbkbm n lbmbB C D e obpbqbrbsbtbubvbo p wbxbE F G f zbAbBbCbDbEbFbGbq r HbIbH I J
192 default=default,
193 default_factory=default_factory,
194 annotation=annotation,
195 alias=alias,
196 alias_priority=alias_priority,
197 validation_alias=validation_alias,
198 serialization_alias=serialization_alias,
199 title=title,
200 description=description,
201 gt=gt,
202 ge=ge,
203 lt=lt,
204 le=le,
205 min_length=min_length,
206 max_length=max_length,
207 pattern=pattern,
208 regex=regex,
209 discriminator=discriminator,
210 strict=strict,
211 multiple_of=multiple_of,
212 allow_inf_nan=allow_inf_nan,
213 max_digits=max_digits,
214 decimal_places=decimal_places,
215 deprecated=deprecated,
216 example=example,
217 examples=examples,
218 openapi_examples=openapi_examples,
219 include_in_schema=include_in_schema,
220 json_schema_extra=json_schema_extra,
221 **extra,
222 )
225class Query(Param): 1abcdef
226 in_ = ParamTypes.query 1abcdef
228 def __init__( 1abcdef
229 self,
230 default: Any = Undefined,
231 *,
232 default_factory: Union[Callable[[], Any], None] = _Unset,
233 annotation: Optional[Any] = None,
234 alias: Optional[str] = None,
235 alias_priority: Union[int, None] = _Unset,
236 # TODO: update when deprecating Pydantic v1, import these types
237 # validation_alias: str | AliasPath | AliasChoices | None
238 validation_alias: Union[str, None] = None,
239 serialization_alias: Union[str, None] = None,
240 title: Optional[str] = None,
241 description: Optional[str] = None,
242 gt: Optional[float] = None,
243 ge: Optional[float] = None,
244 lt: Optional[float] = None,
245 le: Optional[float] = None,
246 min_length: Optional[int] = None,
247 max_length: Optional[int] = None,
248 pattern: Optional[str] = None,
249 regex: Annotated[
250 Optional[str],
251 deprecated(
252 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
253 ),
254 ] = None,
255 discriminator: Union[str, None] = None,
256 strict: Union[bool, None] = _Unset,
257 multiple_of: Union[float, None] = _Unset,
258 allow_inf_nan: Union[bool, None] = _Unset,
259 max_digits: Union[int, None] = _Unset,
260 decimal_places: Union[int, None] = _Unset,
261 examples: Optional[List[Any]] = None,
262 example: Annotated[
263 Optional[Any],
264 deprecated(
265 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
266 "although still supported. Use examples instead."
267 ),
268 ] = _Unset,
269 openapi_examples: Optional[Dict[str, Example]] = None,
270 deprecated: Union[deprecated, str, bool, None] = None,
271 include_in_schema: bool = True,
272 json_schema_extra: Union[Dict[str, Any], None] = None,
273 **extra: Any,
274 ):
275 super().__init__( 2a 6 ]d^d_d`d{d|d}d~daebecedeeefegeheiejekelereseteueveg h wexeyezeAeBes t u b * CeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTeUeVe1e2e3e4e5ei j 6e7e8e9e!e#ev w x c [ $e%e'e(e)e*e+e,e-e.e/e:e;e=e?e@e[e]e^e_eafbfcfdfefdcecfcgck l ffgfhfifjfkfy z A d cblfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfKfLfMfNfOfmcncocpcm n PfQfRfSfTfUfB C D e nbVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$f%f'f-f.f/f:f;fvcwcxcyco p =f?f@f[f]f^fE F G f yb_f`f{f|f}f~fagbgcgdgegfggghgigjgkglgmgngtgugvgwgxgEcFcGcHcq r ygzgAgBgCgDgH I J
276 default=default,
277 default_factory=default_factory,
278 annotation=annotation,
279 alias=alias,
280 alias_priority=alias_priority,
281 validation_alias=validation_alias,
282 serialization_alias=serialization_alias,
283 title=title,
284 description=description,
285 gt=gt,
286 ge=ge,
287 lt=lt,
288 le=le,
289 min_length=min_length,
290 max_length=max_length,
291 pattern=pattern,
292 regex=regex,
293 discriminator=discriminator,
294 strict=strict,
295 multiple_of=multiple_of,
296 allow_inf_nan=allow_inf_nan,
297 max_digits=max_digits,
298 decimal_places=decimal_places,
299 deprecated=deprecated,
300 example=example,
301 examples=examples,
302 openapi_examples=openapi_examples,
303 include_in_schema=include_in_schema,
304 json_schema_extra=json_schema_extra,
305 **extra,
306 )
309class Header(Param): 1abcdef
310 in_ = ParamTypes.header 1abcdef
312 def __init__( 1abcdef
313 self,
314 default: Any = Undefined,
315 *,
316 default_factory: Union[Callable[[], Any], None] = _Unset,
317 annotation: Optional[Any] = None,
318 alias: Optional[str] = None,
319 alias_priority: Union[int, None] = _Unset,
320 # TODO: update when deprecating Pydantic v1, import these types
321 # validation_alias: str | AliasPath | AliasChoices | None
322 validation_alias: Union[str, None] = None,
323 serialization_alias: Union[str, None] = None,
324 convert_underscores: bool = True,
325 title: Optional[str] = None,
326 description: Optional[str] = None,
327 gt: Optional[float] = None,
328 ge: Optional[float] = None,
329 lt: Optional[float] = None,
330 le: Optional[float] = None,
331 min_length: Optional[int] = None,
332 max_length: Optional[int] = None,
333 pattern: Optional[str] = None,
334 regex: Annotated[
335 Optional[str],
336 deprecated(
337 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
338 ),
339 ] = None,
340 discriminator: Union[str, None] = None,
341 strict: Union[bool, None] = _Unset,
342 multiple_of: Union[float, None] = _Unset,
343 allow_inf_nan: Union[bool, None] = _Unset,
344 max_digits: Union[int, None] = _Unset,
345 decimal_places: Union[int, None] = _Unset,
346 examples: Optional[List[Any]] = None,
347 example: Annotated[
348 Optional[Any],
349 deprecated(
350 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
351 "although still supported. Use examples instead."
352 ),
353 ] = _Unset,
354 openapi_examples: Optional[Dict[str, Example]] = None,
355 deprecated: Union[deprecated, str, bool, None] = None,
356 include_in_schema: bool = True,
357 json_schema_extra: Union[Dict[str, Any], None] = None,
358 **extra: Any,
359 ):
360 self.convert_underscores = convert_underscores 2a =b?b@b[b]bg h b ^b_b`b{b|bi j c }b~bacbccck l d hcicjckclcm n e qcrcsctcuco p f zcAcBcCcDcq r
361 super().__init__( 2a =b?b@b[b]bg h b ^b_b`b{b|bi j c }b~bacbccck l d hcicjckclcm n e qcrcsctcuco p f zcAcBcCcDcq r
362 default=default,
363 default_factory=default_factory,
364 annotation=annotation,
365 alias=alias,
366 alias_priority=alias_priority,
367 validation_alias=validation_alias,
368 serialization_alias=serialization_alias,
369 title=title,
370 description=description,
371 gt=gt,
372 ge=ge,
373 lt=lt,
374 le=le,
375 min_length=min_length,
376 max_length=max_length,
377 pattern=pattern,
378 regex=regex,
379 discriminator=discriminator,
380 strict=strict,
381 multiple_of=multiple_of,
382 allow_inf_nan=allow_inf_nan,
383 max_digits=max_digits,
384 decimal_places=decimal_places,
385 deprecated=deprecated,
386 example=example,
387 examples=examples,
388 openapi_examples=openapi_examples,
389 include_in_schema=include_in_schema,
390 json_schema_extra=json_schema_extra,
391 **extra,
392 )
395class Cookie(Param): 1abcdef
396 in_ = ParamTypes.cookie 1abcdef
398 def __init__( 1abcdef
399 self,
400 default: Any = Undefined,
401 *,
402 default_factory: Union[Callable[[], Any], None] = _Unset,
403 annotation: Optional[Any] = None,
404 alias: Optional[str] = None,
405 alias_priority: Union[int, None] = _Unset,
406 # TODO: update when deprecating Pydantic v1, import these types
407 # validation_alias: str | AliasPath | AliasChoices | None
408 validation_alias: Union[str, None] = None,
409 serialization_alias: Union[str, None] = None,
410 title: Optional[str] = None,
411 description: Optional[str] = None,
412 gt: Optional[float] = None,
413 ge: Optional[float] = None,
414 lt: Optional[float] = None,
415 le: Optional[float] = None,
416 min_length: Optional[int] = None,
417 max_length: Optional[int] = None,
418 pattern: Optional[str] = None,
419 regex: Annotated[
420 Optional[str],
421 deprecated(
422 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
423 ),
424 ] = None,
425 discriminator: Union[str, None] = None,
426 strict: Union[bool, None] = _Unset,
427 multiple_of: Union[float, None] = _Unset,
428 allow_inf_nan: Union[bool, None] = _Unset,
429 max_digits: Union[int, None] = _Unset,
430 decimal_places: Union[int, None] = _Unset,
431 examples: Optional[List[Any]] = None,
432 example: Annotated[
433 Optional[Any],
434 deprecated(
435 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
436 "although still supported. Use examples instead."
437 ),
438 ] = _Unset,
439 openapi_examples: Optional[Dict[str, Example]] = None,
440 deprecated: Union[deprecated, str, bool, None] = None,
441 include_in_schema: bool = True,
442 json_schema_extra: Union[Dict[str, Any], None] = None,
443 **extra: Any,
444 ):
445 super().__init__( 2a meneoepeqeg h b WeXeYeZe0ei j c `e{e|e}e~ek l d FfGfHfIfJfm n e (f)f*f+f,fo p f ogpgqgrgsgq r
446 default=default,
447 default_factory=default_factory,
448 annotation=annotation,
449 alias=alias,
450 alias_priority=alias_priority,
451 validation_alias=validation_alias,
452 serialization_alias=serialization_alias,
453 title=title,
454 description=description,
455 gt=gt,
456 ge=ge,
457 lt=lt,
458 le=le,
459 min_length=min_length,
460 max_length=max_length,
461 pattern=pattern,
462 regex=regex,
463 discriminator=discriminator,
464 strict=strict,
465 multiple_of=multiple_of,
466 allow_inf_nan=allow_inf_nan,
467 max_digits=max_digits,
468 decimal_places=decimal_places,
469 deprecated=deprecated,
470 example=example,
471 examples=examples,
472 openapi_examples=openapi_examples,
473 include_in_schema=include_in_schema,
474 json_schema_extra=json_schema_extra,
475 **extra,
476 )
479class Body(FieldInfo): 1abcdef
480 def __init__( 1abcdef
481 self,
482 default: Any = Undefined,
483 *,
484 default_factory: Union[Callable[[], Any], None] = _Unset,
485 annotation: Optional[Any] = None,
486 embed: Union[bool, None] = None,
487 media_type: str = "application/json",
488 alias: Optional[str] = None,
489 alias_priority: Union[int, None] = _Unset,
490 # TODO: update when deprecating Pydantic v1, import these types
491 # validation_alias: str | AliasPath | AliasChoices | None
492 validation_alias: Union[str, None] = None,
493 serialization_alias: Union[str, None] = None,
494 title: Optional[str] = None,
495 description: Optional[str] = None,
496 gt: Optional[float] = None,
497 ge: Optional[float] = None,
498 lt: Optional[float] = None,
499 le: Optional[float] = None,
500 min_length: Optional[int] = None,
501 max_length: Optional[int] = None,
502 pattern: Optional[str] = None,
503 regex: Annotated[
504 Optional[str],
505 deprecated(
506 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
507 ),
508 ] = None,
509 discriminator: Union[str, None] = None,
510 strict: Union[bool, None] = _Unset,
511 multiple_of: Union[float, None] = _Unset,
512 allow_inf_nan: Union[bool, None] = _Unset,
513 max_digits: Union[int, None] = _Unset,
514 decimal_places: Union[int, None] = _Unset,
515 examples: Optional[List[Any]] = None,
516 example: Annotated[
517 Optional[Any],
518 deprecated(
519 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
520 "although still supported. Use examples instead."
521 ),
522 ] = _Unset,
523 openapi_examples: Optional[Dict[str, Example]] = None,
524 deprecated: Union[deprecated, str, bool, None] = None,
525 include_in_schema: bool = True,
526 json_schema_extra: Union[Dict[str, Any], None] = None,
527 **extra: Any,
528 ):
529 self.embed = embed 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!g?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%g@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)g[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,g]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/g^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g_g2 3 4 5 q r [d
530 self.media_type = media_type 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!g?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%g@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)g[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,g]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/g^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g_g2 3 4 5 q r [d
531 if example is not _Unset: 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!g?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%g@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)g[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,g]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/g^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g_g2 3 4 5 q r [d
532 warnings.warn( 1ghijklmnopqr
533 "`example` has been deprecated, please use `examples` instead",
534 category=DeprecationWarning,
535 stacklevel=4,
536 )
537 self.example = example 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!g?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%g@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)g[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,g]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/g^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g_g2 3 4 5 q r [d
538 self.include_in_schema = include_in_schema 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!g?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%g@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)g[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,g]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/g^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g_g2 3 4 5 q r [d
539 self.openapi_examples = openapi_examples 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!g?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%g@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)g[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,g]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/g^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g_g2 3 4 5 q r [d
540 kwargs = dict( 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!g?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%g@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)g[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,g]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/g^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g_g2 3 4 5 q r [d
541 default=default,
542 default_factory=default_factory,
543 alias=alias,
544 title=title,
545 description=description,
546 gt=gt,
547 ge=ge,
548 lt=lt,
549 le=le,
550 min_length=min_length,
551 max_length=max_length,
552 discriminator=discriminator,
553 multiple_of=multiple_of,
554 allow_inf_nan=allow_inf_nan,
555 max_digits=max_digits,
556 decimal_places=decimal_places,
557 **extra,
558 )
559 if examples is not None: 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!g?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%g@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)g[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,g]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/g^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g_g2 3 4 5 q r [d
560 kwargs["examples"] = examples 1aghbijckldmneopfqr
561 if regex is not None: 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!g?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%g@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)g[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,g]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/g^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g_g2 3 4 5 q r [d
562 warnings.warn( 1NOPQSTUVXYZ02345
563 "`regex` has been deprecated, please use `pattern` instead",
564 category=DeprecationWarning,
565 stacklevel=4,
566 )
567 current_json_schema_extra = json_schema_extra or extra 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!g?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%g@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)g[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,g]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/g^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g_g2 3 4 5 q r [d
568 if PYDANTIC_VERSION_MINOR_TUPLE < (2, 7): 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!g?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%g@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)g[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,g]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/g^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g_g2 3 4 5 q r [d
569 self.deprecated = deprecated 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXcYcZc0c1c2c3c?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c-c.c/c:c;c=c@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcdddedfdgdhdidjdkd[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBdCdDdEdFdGdHd]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYdZd0d1d2d3d4d^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d/d:d;d=d?d@d_g2 3 4 5 q r [d
570 else:
571 kwargs["deprecated"] = deprecated 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g2 3 4 5 q r [d
572 if PYDANTIC_V2: 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!g?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%g@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)g[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,g]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/g^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g_g2 3 4 5 q r [d
573 kwargs.update( 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g2 3 4 5 q r [d
574 {
575 "annotation": annotation,
576 "alias_priority": alias_priority,
577 "validation_alias": validation_alias,
578 "serialization_alias": serialization_alias,
579 "strict": strict,
580 "json_schema_extra": current_json_schema_extra,
581 }
582 )
583 kwargs["pattern"] = pattern or regex 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g2 3 4 5 q r [d
584 else:
585 kwargs["regex"] = pattern or regex 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXcYcZc0c1c2c3c?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c-c.c/c:c;c=c@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcdddedfdgdhdidjdkd[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBdCdDdEdFdGdHd]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYdZd0d1d2d3d4d^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d/d:d;d=d?d@d_g2 3 4 5 q r [d
586 kwargs.update(**current_json_schema_extra) 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXcYcZc0c1c2c3c?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c-c.c/c:c;c=c@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcdddedfdgdhdidjdkd[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBdCdDdEdFdGdHd]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYdZd0d1d2d3d4d^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d/d:d;d=d?d@d_g2 3 4 5 q r [d
588 use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset} 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!g?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%g@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)g[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,g]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/g^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g_g2 3 4 5 q r [d
590 super().__init__(**use_kwargs) 2a IcK JcKcLcMcNcOcPcQcJbKbRcLbScTcMbNbObUcPbVcWcXc8g9gYcZc0c1c2c3c!g?gg h b 4cL 5c6c7c8c9c!c#c$cQbRb%cSb'c(cTbUbVb)cWb*c+c,c#g$g-c.c/c:c;c=c%g@gi j c ?cM @c[c]c^c_c`c{c|cXbYb}cZb~cad0b1b2bbd3bcddded'g(gfdgdhdidjdkd)g[gN O P Q k l ldd mdR ndodpdqdrdsdtdud4b5bvd6bwdxd7b8b9byd!bzdAdBd*g+gCdDdEdFdGdHd,g]gS T U V m n Ide JdW KdLdMdNdOdPdQdRd#b$bSd%bTdUd'b(b)bVd*bWdXdYd-g.gZd0d1d2d3d4d/g^gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd+b,b(d-b)d*d.b/b:b+d;b,d-d.d:g;g/d:d;d=d?d@d=g_g2 3 4 5 q r [d
592 def __repr__(self) -> str: 1abcdef
593 return f"{self.__class__.__name__}({self.default})" 2a IcK JcKcLcMcNcOcPcQcPbVcWcXc8g9gYcZc0c1c2c3c!gg h b 4cL 5c6c7c8c9c!c#c$cWb*c+c,c#g$g-c.c/c:c;c=c%gi j c ?cM @c[c]c^c_c`c{c|c3bcddded'g(gfdgdhdidjdkd)gN O P Q k l ldd mdR ndodpdqdrdsdtdud!bzdAdBd*g+gCdDdEdFdGdHd,gS T U V m n Ide JdW KdLdMdNdOdPdQdRd*bWdXdYd-g.gZd0d1d2d3d4d/gX Y Z 0 o p 5df 6d1 7d8d9d!d#d$d%d'd;b,d-d.d:g;g/d:d;d=d?d@d=g2 3 4 5 q r [d
596class Form(Body): 1abcdef
597 def __init__( 1abcdef
598 self,
599 default: Any = Undefined,
600 *,
601 default_factory: Union[Callable[[], Any], None] = _Unset,
602 annotation: Optional[Any] = None,
603 media_type: str = "application/x-www-form-urlencoded",
604 alias: Optional[str] = None,
605 alias_priority: Union[int, None] = _Unset,
606 # TODO: update when deprecating Pydantic v1, import these types
607 # validation_alias: str | AliasPath | AliasChoices | None
608 validation_alias: Union[str, None] = None,
609 serialization_alias: Union[str, None] = None,
610 title: Optional[str] = None,
611 description: Optional[str] = None,
612 gt: Optional[float] = None,
613 ge: Optional[float] = None,
614 lt: Optional[float] = None,
615 le: Optional[float] = None,
616 min_length: Optional[int] = None,
617 max_length: Optional[int] = None,
618 pattern: Optional[str] = None,
619 regex: Annotated[
620 Optional[str],
621 deprecated(
622 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
623 ),
624 ] = None,
625 discriminator: Union[str, None] = None,
626 strict: Union[bool, None] = _Unset,
627 multiple_of: Union[float, None] = _Unset,
628 allow_inf_nan: Union[bool, None] = _Unset,
629 max_digits: Union[int, None] = _Unset,
630 decimal_places: Union[int, None] = _Unset,
631 examples: Optional[List[Any]] = None,
632 example: Annotated[
633 Optional[Any],
634 deprecated(
635 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
636 "although still supported. Use examples instead."
637 ),
638 ] = _Unset,
639 openapi_examples: Optional[Dict[str, Example]] = None,
640 deprecated: Union[deprecated, str, bool, None] = None,
641 include_in_schema: bool = True,
642 json_schema_extra: Union[Dict[str, Any], None] = None,
643 **extra: Any,
644 ):
645 super().__init__( 2a K JbKbRcLbScTcMbNbObUcPbb L QbRb%cSb'c(cTbUbVb)cWbc M XbYb}cZb~cad0b1b2bbd3bN O P Q d R 4b5bvd6bwdxd7b8b9byd!bS T U V e W #b$bSd%bTdUd'b(b)bVd*bX Y Z 0 f 1 +b,b(d-b)d*d.b/b:b+d;b2 3 4 5
646 default=default,
647 default_factory=default_factory,
648 annotation=annotation,
649 media_type=media_type,
650 alias=alias,
651 alias_priority=alias_priority,
652 validation_alias=validation_alias,
653 serialization_alias=serialization_alias,
654 title=title,
655 description=description,
656 gt=gt,
657 ge=ge,
658 lt=lt,
659 le=le,
660 min_length=min_length,
661 max_length=max_length,
662 pattern=pattern,
663 regex=regex,
664 discriminator=discriminator,
665 strict=strict,
666 multiple_of=multiple_of,
667 allow_inf_nan=allow_inf_nan,
668 max_digits=max_digits,
669 decimal_places=decimal_places,
670 deprecated=deprecated,
671 example=example,
672 examples=examples,
673 openapi_examples=openapi_examples,
674 include_in_schema=include_in_schema,
675 json_schema_extra=json_schema_extra,
676 **extra,
677 )
680class File(Form): 1abcdef
681 def __init__( 1abcdef
682 self,
683 default: Any = Undefined,
684 *,
685 default_factory: Union[Callable[[], Any], None] = _Unset,
686 annotation: Optional[Any] = None,
687 media_type: str = "multipart/form-data",
688 alias: Optional[str] = None,
689 alias_priority: Union[int, None] = _Unset,
690 # TODO: update when deprecating Pydantic v1, import these types
691 # validation_alias: str | AliasPath | AliasChoices | None
692 validation_alias: Union[str, None] = None,
693 serialization_alias: Union[str, None] = None,
694 title: Optional[str] = None,
695 description: Optional[str] = None,
696 gt: Optional[float] = None,
697 ge: Optional[float] = None,
698 lt: Optional[float] = None,
699 le: Optional[float] = None,
700 min_length: Optional[int] = None,
701 max_length: Optional[int] = None,
702 pattern: Optional[str] = None,
703 regex: Annotated[
704 Optional[str],
705 deprecated(
706 "Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead."
707 ),
708 ] = None,
709 discriminator: Union[str, None] = None,
710 strict: Union[bool, None] = _Unset,
711 multiple_of: Union[float, None] = _Unset,
712 allow_inf_nan: Union[bool, None] = _Unset,
713 max_digits: Union[int, None] = _Unset,
714 decimal_places: Union[int, None] = _Unset,
715 examples: Optional[List[Any]] = None,
716 example: Annotated[
717 Optional[Any],
718 deprecated(
719 "Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, "
720 "although still supported. Use examples instead."
721 ),
722 ] = _Unset,
723 openapi_examples: Optional[Dict[str, Example]] = None,
724 deprecated: Union[deprecated, str, bool, None] = None,
725 include_in_schema: bool = True,
726 json_schema_extra: Union[Dict[str, Any], None] = None,
727 **extra: Any,
728 ):
729 super().__init__( 2a K JbKbLbMbNbObb L QbRbSbTbUbVbc M XbYbZb0b1b2bd R 4b5b6b7b8b9be W #b$b%b'b(b)bf 1 +b,b-b.b/b:b
730 default=default,
731 default_factory=default_factory,
732 annotation=annotation,
733 media_type=media_type,
734 alias=alias,
735 alias_priority=alias_priority,
736 validation_alias=validation_alias,
737 serialization_alias=serialization_alias,
738 title=title,
739 description=description,
740 gt=gt,
741 ge=ge,
742 lt=lt,
743 le=le,
744 min_length=min_length,
745 max_length=max_length,
746 pattern=pattern,
747 regex=regex,
748 discriminator=discriminator,
749 strict=strict,
750 multiple_of=multiple_of,
751 allow_inf_nan=allow_inf_nan,
752 max_digits=max_digits,
753 decimal_places=decimal_places,
754 deprecated=deprecated,
755 example=example,
756 examples=examples,
757 openapi_examples=openapi_examples,
758 include_in_schema=include_in_schema,
759 json_schema_extra=json_schema_extra,
760 **extra,
761 )
764class Depends: 1abcdef
765 def __init__( 1abcdef
766 self, dependency: Optional[Callable[..., Any]] = None, *, use_cache: bool = True
767 ):
768 self.dependency = dependency 2a 6 `gbhb * {gchc [ |gdhd cb}gehe nb~gfhf ybahgh
769 self.use_cache = use_cache 2a 6 `gbhb * {gchc [ |gdhd cb}gehe nb~gfhf ybahgh
771 def __repr__(self) -> str: 1abcdef
772 attr = getattr(self.dependency, "__name__", type(self.dependency).__name__) 2`g{g|g}g~gah
773 cache = "" if self.use_cache else ", use_cache=False" 2`g{g|g}g~gah
774 return f"{self.__class__.__name__}({attr}{cache})" 2`g{g|g}g~gah
777class Security(Depends): 1abcdef
778 def __init__( 1abcdef
779 self,
780 dependency: Optional[Callable[..., Any]] = None,
781 *,
782 scopes: Optional[Sequence[str]] = None,
783 use_cache: bool = True,
784 ):
785 super().__init__(dependency=dependency, use_cache=use_cache) 1abcdef
786 self.scopes = scopes or [] 1abcdef