Coverage for fastapi/params.py: 100%

103 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-01-13 13:38 +0000

1import warnings 1abcde

2from enum import Enum 1abcde

3from typing import Any, Callable, Dict, List, Optional, Sequence, Union 1abcde

4 

5from fastapi.openapi.models import Example 1abcde

6from pydantic.fields import FieldInfo 1abcde

7from typing_extensions import Annotated, deprecated 1abcde

8 

9from ._compat import ( 1abcde

10 PYDANTIC_V2, 

11 PYDANTIC_VERSION_MINOR_TUPLE, 

12 Undefined, 

13) 

14 

15_Unset: Any = Undefined 1abcde

16 

17 

18class ParamTypes(Enum): 1abcde

19 query = "query" 1abcde

20 header = "header" 1abcde

21 path = "path" 1abcde

22 cookie = "cookie" 1abcde

23 

24 

25class Param(FieldInfo): 1abcde

26 in_: ParamTypes 1abcde

27 

28 def __init__( 1abcde

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 OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

76 warnings.warn( 1fghijklmno

77 "`example` has been deprecated, please use `examples` instead", 

78 category=DeprecationWarning, 

79 stacklevel=4, 

80 ) 

81 self.example = example 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

82 self.include_in_schema = include_in_schema 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

83 self.openapi_examples = openapi_examples 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

84 kwargs = dict( 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

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 OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

104 kwargs["examples"] = examples 1afgbhicjkdlmeno

105 if regex is not None: 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

106 warnings.warn( 2_b`b{b|bdcecfcgcmcncocpc

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 OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

112 if PYDANTIC_VERSION_MINOR_TUPLE < (2, 7): 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

113 self.deprecated = deprecated 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

114 else: 

115 kwargs["deprecated"] = deprecated 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

116 if PYDANTIC_V2: 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

117 kwargs.update( 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

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 OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

128 else: 

129 kwargs["regex"] = pattern or regex 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

130 kwargs.update(**current_json_schema_extra) 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

131 use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset} 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

132 

133 super().__init__(**use_kwargs) 2a OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

134 

135 def __repr__(self) -> str: 1abcde

136 return f"{self.__class__.__name__}({self.default})" 2a OdPdQdRdSdTd5 VdWdXdYdZd0d1d2d3d4d5d6d7d8d9d6 7 8 9 ! # $ !d#d$d%d'd(d)d*d+d)b*b+b,b-b.g/g:g;g=g% ,d-d.d/d:df g ' ( ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) geheiejekelemeneoepeqereseteue* + , - . / : vewexeyezeAeBeCeDe.b/b:b;b=b?g@g[g]g^g; EeFeGeHeIeh i Je= p ? KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e] ^ _ ` { | } :e;e=e?e@e[e]e^e_e?b@b[b]b^b_g`g{g|g}g~ `e{e|e}e~e_b`b{b|bj k afbfcfabq r s bbdfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbLfMfNfOfPfQfRfSfTfUfVfWfXfYfZfgbhbibjbkblbmb0f1f2f3f4f5f6f7f8f}b~bacbccc~gahbhchdhnb9f!f#f$f%fdcecfcgcl m 'f(f)fobt u v pb*f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbogpgqgrgsgtgugvgwgxgygzgAgBgCgubvbwbxbybzbAbDgEgFgGgHgIgJgKgLghcicjckclcehfhghhhihBbMgNgOgPgQgmcncocpcn o RgSgTgCbw x y DbUgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

137 

138 

139class Path(Param): 1abcde

140 in_ = ParamTypes.path 1abcde

141 

142 def __init__( 1abcde

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 Ud6 7 8 9 ! # $ % f g ' ( z A B b fe* + , - . / : ; h i = p ? C D E c 7e] ^ _ ` { | } ~ j k abq r s bbF G H d Kfgbhbibjbkblbmbnbl m obt u v pbI J K e ngubvbwbxbybzbAbBbn o Cbw x y DbL M N

190 self.in_ = self.in_ 2a 6 7 8 9 ! # $ % f g ' ( z A B b * + , - . / : ; h i = p ? C D E c ] ^ _ ` { | } ~ j k abq r s bbF G H d gbhbibjbkblbmbnbl m obt u v pbI J K e ubvbwbxbybzbAbBbn o Cbw x y DbL M N

191 super().__init__( 2a 6 7 8 9 ! # $ % f g ' ( z A B b * + , - . / : ; h i = p ? C D E c ] ^ _ ` { | } ~ j k abq r s bbF G H d gbhbibjbkblbmbnbl m obt u v pbI J K e ubvbwbxbybzbAbBbn o Cbw x y DbL M N

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): 1abcde

226 in_ = ParamTypes.query 1abcde

227 

228 def __init__( 1abcde

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 OdPdQdRdSdTd5 UdVdWdXdYdZd0d1d2d3d4d5d6d7d8d9d!d#d$d%d,d-d.d/d:df g ;d=d?d@d[d]d^d_d`d{d|d}dz A B b ~daebecedeee) fegeheiejekelemeneoepeqereseteuevewexeyeEeFeGeHeIeh i KeLeMeNeOePeQeReSeTeUeVe@ WeXeYeZe0eC D E c 1e2e3e4e5e6e[ 7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e:e;e=e?e`e{e|e}e~e_b`b{b|bj k dfefffgfhfifjfkflfmfnfofcbpfqfrfsftfdbufvfwfxfyfebzfAfBfCfDfF G H d EfFfGfHfIfJffbKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f9f!f#f$f%fdcecfcgcl m *f+f,f-f.f/f:f;f=f?f@f[fqb]f^f_f`f{frb|f}f~fagbgsbcgdgegfgggI J K e hgigjgkglgmgtbngogpgqgrgsgtgugvgwgxgygzgAgBgCgDgEgFgGgMgNgOgPgQgmcncocpcn o UgVgWgXgYgZg0g1g2g3g4g5gEb6g7g8g9g!gFb#g$g%g'g(gGb)g*g+g,g-gL M N

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): 1abcde

310 in_ = ParamTypes.header 1abcde

311 

312 def __init__( 1abcde

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-bf g b .b/b:b;b=bh i p c ?b@b[b]b^bj k q r s d }b~bacbcccl m t u v e hcicjckclcn o w x y

361 super().__init__( 2a )b*b+b,b-bf g b .b/b:b;b=bh i p c ?b@b[b]b^bj k q r s d }b~bacbcccl m t u v e hcicjckclcn o w x y

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): 1abcde

396 in_ = ParamTypes.cookie 1abcde

397 

398 def __init__( 1abcde

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 'd(d)d*d+df g b zeAeBeCeDeh i Jec @e[e]e^e_ej k afbfcfd 4f5f6f7f8fl m 'f(f)fe HgIgJgKgLgn o RgSgTg

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): 1abcde

480 def __init__( 1abcde

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 qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd

530 self.media_type = media_type 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd

531 if example is not _Unset: 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd

532 warnings.warn( 1fghijklmno

533 "`example` has been deprecated, please use `examples` instead", 

534 category=DeprecationWarning, 

535 stacklevel=4, 

536 ) 

537 self.example = example 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd

538 self.include_in_schema = include_in_schema 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd

539 self.openapi_examples = openapi_examples 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd

540 kwargs = dict( 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd

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 qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd

560 kwargs["examples"] = examples 1afgbhicjkdlmeno

561 if regex is not None: 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd

562 warnings.warn( 1RSTUWXYZ1234

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 qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd

568 if PYDANTIC_VERSION_MINOR_TUPLE < (2, 7): 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd

569 self.deprecated = deprecated 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcGcHcIcJcKcLcyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1c2c3c4c5c6c7czhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:c;c=c?c@c[c]cAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdkdldmdndodpdBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdHdIdJdKdLdMdCh1 2 3 4 n o w x y Nd

570 else: 

571 kwargs["deprecated"] = deprecated 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxh1 2 3 4 n o w x y Nd

572 if PYDANTIC_V2: 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd

573 kwargs.update( 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxh1 2 3 4 n o w x y Nd

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 qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxh1 2 3 4 n o w x y Nd

584 else: 

585 kwargs["regex"] = pattern or regex 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcGcHcIcJcKcLcyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1c2c3c4c5c6c7czhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:c;c=c?c@c[c]cAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdkdldmdndodpdBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdHdIdJdKdLdMdCh1 2 3 4 n o w x y Nd

586 kwargs.update(**current_json_schema_extra) 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcGcHcIcJcKcLcyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1c2c3c4c5c6c7czhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:c;c=c?c@c[c]cAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdkdldmdndodpdBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdHdIdJdKdLdMdCh1 2 3 4 n o w x y Nd

587 

588 use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset} 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd

589 

590 super().__init__(**use_kwargs) 2a qcO rcsctcucvcwcxcycHbIbzcJbAcBcKbLbMbCcNbDcEcFcjhkhGcHcIcJcKcLclhyhf g b McP NcOcPcQcRcScTcUcObPbVcQbWcXcRbSbTbYcUbZc0c1cmhnh2c3c4c5c6c7cohzhh i p c 8cQ 9c!c#c$c%c'c(c)cVbWb*cXb+c,cYbZb0b-c1b.c/c:cphqh;c=c?c@c[c]crhAhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd2b3bdd4bedfd5b6b7bgd8bhdidjdshthkdldmdndodpduhBhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd9b!bAd#bBdCd$b%b'bDd(bEdFdGdvhwhHdIdJdKdLdMdxhCh1 2 3 4 n o w x y Nd

591 

592 def __repr__(self) -> str: 1abcde

593 return f"{self.__class__.__name__}({self.default})" 2a qcO rcsctcucvcwcxcycNbDcEcFcjhkhGcHcIcJcKcLclhf g b McP NcOcPcQcRcScTcUcUbZc0c1cmhnh2c3c4c5c6c7cohh i p c 8cQ 9c!c#c$c%c'c(c)c1b.c/c:cphqh;c=c?c@c[c]crhR S T U j k q r s ^cd _cV `c{c|c}c~cadbdcd8bhdidjdshthkdldmdndodpduhW X Y Z l m t u v qde rd0 sdtdudvdwdxdydzd(bEdFdGdvhwhHdIdJdKdLdMdxh1 2 3 4 n o w x y Nd

594 

595 

596class Form(Body): 1abcde

597 def __init__( 1abcde

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 O HbIbzcJbAcBcKbLbMbCcNbb P ObPbVcQbWcXcRbSbTbYcUbc Q VbWb*cXb+c,cYbZb0b-c1bR S T U d V 2b3bdd4bedfd5b6b7bgd8bW X Y Z e 0 9b!bAd#bBdCd$b%b'bDd(b1 2 3 4

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): 1abcde

681 def __init__( 1abcde

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 O HbIbJbKbLbMbb P ObPbQbRbSbTbc Q VbWbXbYbZb0bd V 2b3b4b5b6b7be 0 9b!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: 1abcde

765 def __init__( 1abcde

766 self, dependency: Optional[Callable[..., Any]] = None, *, use_cache: bool = True 

767 ): 

768 self.dependency = dependency 2a 5 DhIhb ) EhJh@ c [ FhKhcbdbebd fbGhLhqbrbsbe tbHhMhEbFbGb

769 self.use_cache = use_cache 2a 5 DhIhb ) EhJh@ c [ FhKhcbdbebd fbGhLhqbrbsbe tbHhMhEbFbGb

770 

771 def __repr__(self) -> str: 1abcde

772 attr = getattr(self.dependency, "__name__", type(self.dependency).__name__) 2DhEhFhGhHh

773 cache = "" if self.use_cache else ", use_cache=False" 2DhEhFhGhHh

774 return f"{self.__class__.__name__}({attr}{cache})" 2DhEhFhGhHh

775 

776 

777class Security(Depends): 1abcde

778 def __init__( 1abcde

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) 1abcde

786 self.scopes = scopes or [] 1abcde