summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/litestar/params.py
diff options
context:
space:
mode:
Diffstat (limited to 'venv/lib/python3.11/site-packages/litestar/params.py')
-rw-r--r--venv/lib/python3.11/site-packages/litestar/params.py383
1 files changed, 0 insertions, 383 deletions
diff --git a/venv/lib/python3.11/site-packages/litestar/params.py b/venv/lib/python3.11/site-packages/litestar/params.py
deleted file mode 100644
index bff010b..0000000
--- a/venv/lib/python3.11/site-packages/litestar/params.py
+++ /dev/null
@@ -1,383 +0,0 @@
-from __future__ import annotations
-
-from dataclasses import asdict, dataclass, field
-from typing import TYPE_CHECKING, Any, Hashable, Sequence
-
-from litestar.enums import RequestEncodingType
-from litestar.types import Empty
-
-__all__ = (
- "Body",
- "BodyKwarg",
- "Dependency",
- "DependencyKwarg",
- "KwargDefinition",
- "Parameter",
- "ParameterKwarg",
-)
-
-
-if TYPE_CHECKING:
- from litestar.openapi.spec.example import Example
- from litestar.openapi.spec.external_documentation import (
- ExternalDocumentation,
- )
-
-
-@dataclass(frozen=True)
-class KwargDefinition:
- """Data container representing a constrained kwarg."""
-
- examples: list[Example] | None = field(default=None)
- """A list of Example models."""
- external_docs: ExternalDocumentation | None = field(default=None)
- """A url pointing at external documentation for the given parameter."""
- content_encoding: str | None = field(default=None)
- """The content encoding of the value.
-
- Applicable on to string values. See OpenAPI 3.1 for details.
- """
- default: Any = field(default=Empty)
- """A default value.
-
- If const is true, this value is required.
- """
- title: str | None = field(default=None)
- """String value used in the title section of the OpenAPI schema for the given parameter."""
- description: str | None = field(default=None)
- """String value used in the description section of the OpenAPI schema for the given parameter."""
- const: bool | None = field(default=None)
- """A boolean flag dictating whether this parameter is a constant.
-
- If True, the value passed to the parameter must equal its default value. This also causes the OpenAPI const field to
- be populated with the default value.
- """
- gt: float | None = field(default=None)
- """Constrict value to be greater than a given float or int.
-
- Equivalent to exclusiveMinimum in the OpenAPI specification.
- """
- ge: float | None = field(default=None)
- """Constrict value to be greater or equal to a given float or int.
-
- Equivalent to minimum in the OpenAPI specification.
- """
- lt: float | None = field(default=None)
- """Constrict value to be less than a given float or int.
-
- Equivalent to exclusiveMaximum in the OpenAPI specification.
- """
- le: float | None = field(default=None)
- """Constrict value to be less or equal to a given float or int.
-
- Equivalent to maximum in the OpenAPI specification.
- """
- multiple_of: float | None = field(default=None)
- """Constrict value to a multiple of a given float or int.
-
- Equivalent to multipleOf in the OpenAPI specification.
- """
- min_items: int | None = field(default=None)
- """Constrict a set or a list to have a minimum number of items.
-
- Equivalent to minItems in the OpenAPI specification.
- """
- max_items: int | None = field(default=None)
- """Constrict a set or a list to have a maximum number of items.
-
- Equivalent to maxItems in the OpenAPI specification.
- """
- min_length: int | None = field(default=None)
- """Constrict a string or bytes value to have a minimum length.
-
- Equivalent to minLength in the OpenAPI specification.
- """
- max_length: int | None = field(default=None)
- """Constrict a string or bytes value to have a maximum length.
-
- Equivalent to maxLength in the OpenAPI specification.
- """
- pattern: str | None = field(default=None)
- """A string representing a regex against which the given string will be matched.
-
- Equivalent to pattern in the OpenAPI specification.
- """
- lower_case: bool | None = field(default=None)
- """Constrict a string value to be lower case."""
- upper_case: bool | None = field(default=None)
- """Constrict a string value to be upper case."""
- format: str | None = field(default=None)
- """Specify the format to which a string value should be converted."""
- enum: Sequence[Any] | None = field(default=None)
- """A sequence of valid values."""
- read_only: bool | None = field(default=None)
- """A boolean flag dictating whether this parameter is read only."""
-
- @property
- def is_constrained(self) -> bool:
- """Return True if any of the constraints are set."""
- return any(
- attr if attr and attr is not Empty else False # type: ignore[comparison-overlap]
- for attr in (
- self.gt,
- self.ge,
- self.lt,
- self.le,
- self.multiple_of,
- self.min_items,
- self.max_items,
- self.min_length,
- self.max_length,
- self.pattern,
- self.const,
- self.lower_case,
- self.upper_case,
- )
- )
-
-
-@dataclass(frozen=True)
-class ParameterKwarg(KwargDefinition):
- """Data container representing a parameter."""
-
- annotation: Any = field(default=Empty)
- """The field value - `Empty` by default."""
- header: str | None = field(default=None)
- """The header parameter key - required for header parameters."""
- cookie: str | None = field(default=None)
- """The cookie parameter key - required for cookie parameters."""
- query: str | None = field(default=None)
- """The query parameter key for this parameter."""
- required: bool | None = field(default=None)
- """A boolean flag dictating whether this parameter is required.
-
- If set to False, None values will be allowed. Defaults to True.
- """
-
- def __hash__(self) -> int: # pragma: no cover
- """Hash the dataclass in a safe way.
-
- Returns:
- A hash
- """
- return sum(hash(v) for v in asdict(self) if isinstance(v, Hashable))
-
-
-def Parameter(
- annotation: Any = Empty,
- *,
- const: bool | None = None,
- content_encoding: str | None = None,
- cookie: str | None = None,
- default: Any = Empty,
- description: str | None = None,
- examples: list[Example] | None = None,
- external_docs: ExternalDocumentation | None = None,
- ge: float | None = None,
- gt: float | None = None,
- header: str | None = None,
- le: float | None = None,
- lt: float | None = None,
- max_items: int | None = None,
- max_length: int | None = None,
- min_items: int | None = None,
- min_length: int | None = None,
- multiple_of: float | None = None,
- pattern: str | None = None,
- query: str | None = None,
- required: bool | None = None,
- title: str | None = None,
-) -> Any:
- """Create an extended parameter kwarg definition.
-
- Args:
- annotation: `Empty` by default.
- const: A boolean flag dictating whether this parameter is a constant. If True, the value passed to the parameter
- must equal its default value. This also causes the OpenAPI const field
- to be populated with the default value.
- content_encoding: The content encoding of the value.
- Applicable on to string values. See OpenAPI 3.1 for details.
- cookie: The cookie parameter key - required for cookie parameters.
- default: A default value. If const is true, this value is required.
- description: String value used in the description section of the OpenAPI schema for the given parameter.
- examples: A list of Example models.
- external_docs: A url pointing at external documentation for the given parameter.
- ge: Constrict value to be greater or equal to a given float or int.
- Equivalent to minimum in the OpenAPI specification.
- gt: Constrict value to be greater than a given float or int.
- Equivalent to exclusiveMinimum in the OpenAPI specification.
- header: The header parameter key - required for header parameters.
- le: Constrict value to be less or equal to a given float or int.
- Equivalent to maximum in the OpenAPI specification.
- lt: Constrict value to be less than a given float or int.
- Equivalent to exclusiveMaximum in the OpenAPI specification.
- max_items: Constrict a set or a list to have a maximum number of items.
- Equivalent to maxItems in the OpenAPI specification.
- max_length: Constrict a string or bytes value to have a maximum length.
- Equivalent to maxLength in the OpenAPI specification.
- min_items: Constrict a set or a list to have a minimum number of items. ֿ
- Equivalent to minItems in the OpenAPI specification.
- min_length: Constrict a string or bytes value to have a minimum length.
- Equivalent to minLength in the OpenAPI specification.
- multiple_of: Constrict value to a multiple of a given float or int.
- Equivalent to multipleOf in the OpenAPI specification.
- pattern: A string representing a regex against which the given string will be matched.
- Equivalent to pattern in the OpenAPI specification.
- query: The query parameter key for this parameter.
- required: A boolean flag dictating whether this parameter is required.
- If set to False, None values will be allowed. Defaults to True.
- title: String value used in the title section of the OpenAPI schema for the given parameter.
- """
- return ParameterKwarg(
- annotation=annotation,
- header=header,
- cookie=cookie,
- query=query,
- examples=examples,
- external_docs=external_docs,
- content_encoding=content_encoding,
- required=required,
- default=default,
- title=title,
- description=description,
- const=const,
- gt=gt,
- ge=ge,
- lt=lt,
- le=le,
- multiple_of=multiple_of,
- min_items=min_items,
- max_items=max_items,
- min_length=min_length,
- max_length=max_length,
- pattern=pattern,
- )
-
-
-@dataclass(frozen=True)
-class BodyKwarg(KwargDefinition):
- """Data container representing a request body."""
-
- media_type: str | RequestEncodingType = field(default=RequestEncodingType.JSON)
- """Media-Type of the body."""
-
- multipart_form_part_limit: int | None = field(default=None)
- """The maximal number of allowed parts in a multipart/formdata request. This limit is intended to protect from DoS attacks."""
-
- def __hash__(self) -> int: # pragma: no cover
- """Hash the dataclass in a safe way.
-
- Returns:
- A hash
- """
- return sum(hash(v) for v in asdict(self) if isinstance(v, Hashable))
-
-
-def Body(
- *,
- const: bool | None = None,
- content_encoding: str | None = None,
- default: Any = Empty,
- description: str | None = None,
- examples: list[Example] | None = None,
- external_docs: ExternalDocumentation | None = None,
- ge: float | None = None,
- gt: float | None = None,
- le: float | None = None,
- lt: float | None = None,
- max_items: int | None = None,
- max_length: int | None = None,
- media_type: str | RequestEncodingType = RequestEncodingType.JSON,
- min_items: int | None = None,
- min_length: int | None = None,
- multipart_form_part_limit: int | None = None,
- multiple_of: float | None = None,
- pattern: str | None = None,
- title: str | None = None,
-) -> Any:
- """Create an extended request body kwarg definition.
-
- Args:
- const: A boolean flag dictating whether this parameter is a constant. If True, the value passed to the parameter
- must equal its default value. This also causes the OpenAPI const field to be
- populated with the default value.
- content_encoding: The content encoding of the value. Applicable on to string values.
- See OpenAPI 3.1 for details.
- default: A default value. If const is true, this value is required.
- description: String value used in the description section of the OpenAPI schema for the given parameter.
- examples: A list of Example models.
- external_docs: A url pointing at external documentation for the given parameter.
- ge: Constrict value to be greater or equal to a given float or int.
- Equivalent to minimum in the OpenAPI specification.
- gt: Constrict value to be greater than a given float or int.
- Equivalent to exclusiveMinimum in the OpenAPI specification.
- le: Constrict value to be less or equal to a given float or int.
- Equivalent to maximum in the OpenAPI specification.
- lt: Constrict value to be less than a given float or int.
- Equivalent to exclusiveMaximum in the OpenAPI specification.
- max_items: Constrict a set or a list to have a maximum number of items.
- Equivalent to maxItems in the OpenAPI specification.
- max_length: Constrict a string or bytes value to have a maximum length.
- Equivalent to maxLength in the OpenAPI specification.
- media_type: Defaults to RequestEncodingType.JSON.
- min_items: Constrict a set or a list to have a minimum number of items.
- Equivalent to minItems in the OpenAPI specification.
- min_length: Constrict a string or bytes value to have a minimum length.
- Equivalent to minLength in the OpenAPI specification.
- multipart_form_part_limit: The maximal number of allowed parts in a multipart/formdata request.
- This limit is intended to protect from DoS attacks.
- multiple_of: Constrict value to a multiple of a given float or int.
- Equivalent to multipleOf in the OpenAPI specification.
- pattern: A string representing a regex against which the given string will be matched.
- Equivalent to pattern in the OpenAPI specification.
- title: String value used in the title section of the OpenAPI schema for the given parameter.
- """
- return BodyKwarg(
- media_type=media_type,
- examples=examples,
- external_docs=external_docs,
- content_encoding=content_encoding,
- default=default,
- title=title,
- description=description,
- const=const,
- gt=gt,
- ge=ge,
- lt=lt,
- le=le,
- multiple_of=multiple_of,
- min_items=min_items,
- max_items=max_items,
- min_length=min_length,
- max_length=max_length,
- pattern=pattern,
- multipart_form_part_limit=multipart_form_part_limit,
- )
-
-
-@dataclass(frozen=True)
-class DependencyKwarg:
- """Data container representing a dependency."""
-
- default: Any = field(default=Empty)
- """A default value."""
- skip_validation: bool = field(default=False)
- """Flag dictating whether to skip validation."""
-
- def __hash__(self) -> int:
- """Hash the dataclass in a safe way.
-
- Returns:
- A hash
- """
- return sum(hash(v) for v in asdict(self) if isinstance(v, Hashable))
-
-
-def Dependency(*, default: Any = Empty, skip_validation: bool = False) -> Any:
- """Create a dependency kwarg definition.
-
- Args:
- default: A default value to use in case a dependency is not provided.
- skip_validation: If `True` provided dependency values are not validated by signature model.
- """
- return DependencyKwarg(default=default, skip_validation=skip_validation)