Coverage for fastapi/params.py: 100%

103 statements  

« 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

4 

5from fastapi.openapi.models import Example 1abcdef

6from pydantic.fields import FieldInfo 1abcdef

7from typing_extensions import Annotated, deprecated 1abcdef

8 

9from ._compat import ( 1abcdef

10 PYDANTIC_V2, 

11 PYDANTIC_VERSION_MINOR_TUPLE, 

12 Undefined, 

13) 

14 

15_Unset: Any = Undefined 1abcdef

16 

17 

18class ParamTypes(Enum): 1abcdef

19 query = "query" 1abcdef

20 header = "header" 1abcdef

21 path = "path" 1abcdef

22 cookie = "cookie" 1abcdef

23 

24 

25class Param(FieldInfo): 1abcdef

26 in_: ParamTypes 1abcdef

27 

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

132 

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

134 

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

137 

138 

139class Path(Param): 1abcdef

140 in_ = ParamTypes.path 1abcdef

141 

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 ) 

223 

224 

225class Query(Param): 1abcdef

226 in_ = ParamTypes.query 1abcdef

227 

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 ) 

307 

308 

309class Header(Param): 1abcdef

310 in_ = ParamTypes.header 1abcdef

311 

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 ) 

393 

394 

395class Cookie(Param): 1abcdef

396 in_ = ParamTypes.cookie 1abcdef

397 

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 ) 

477 

478 

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

587 

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

589 

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

591 

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

594 

595 

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 ) 

678 

679 

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 ) 

762 

763 

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

770 

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

775 

776 

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