summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/litestar/config/allowed_hosts.py
diff options
context:
space:
mode:
Diffstat (limited to 'venv/lib/python3.11/site-packages/litestar/config/allowed_hosts.py')
-rw-r--r--venv/lib/python3.11/site-packages/litestar/config/allowed_hosts.py43
1 files changed, 0 insertions, 43 deletions
diff --git a/venv/lib/python3.11/site-packages/litestar/config/allowed_hosts.py b/venv/lib/python3.11/site-packages/litestar/config/allowed_hosts.py
deleted file mode 100644
index 4c8e6ac..0000000
--- a/venv/lib/python3.11/site-packages/litestar/config/allowed_hosts.py
+++ /dev/null
@@ -1,43 +0,0 @@
-from __future__ import annotations
-
-from dataclasses import dataclass, field
-from typing import TYPE_CHECKING
-
-from litestar.exceptions import ImproperlyConfiguredException
-
-__all__ = ("AllowedHostsConfig",)
-
-
-if TYPE_CHECKING:
- from litestar.types import Scopes
-
-
-@dataclass
-class AllowedHostsConfig:
- """Configuration for allowed hosts protection.
-
- To enable allowed hosts protection, pass an instance of this class to the :class:`Litestar <litestar.app.Litestar>`
- constructor using the ``allowed_hosts`` key.
- """
-
- allowed_hosts: list[str] = field(default_factory=lambda: ["*"])
- """A list of trusted hosts.
-
- Use ``*.`` to allow all hosts, or prefix domains with ``*.`` to allow all sub domains.
- """
- exclude: str | list[str] | None = field(default=None)
- """A pattern or list of patterns to skip in the Allowed Hosts middleware."""
- exclude_opt_key: str | None = field(default=None)
- """An identifier to use on routes to disable hosts check for a particular route."""
- scopes: Scopes | None = field(default=None)
- """ASGI scopes processed by the middleware, if None both ``http`` and ``websocket`` will be processed."""
- www_redirect: bool = field(default=True)
- """A boolean dictating whether to redirect requests that start with ``www.`` and otherwise match a trusted host."""
-
- def __post_init__(self) -> None:
- """Ensure that the trusted hosts have correct domain wildcards."""
- for host in self.allowed_hosts:
- if host != "*" and "*" in host and not host.startswith("*."):
- raise ImproperlyConfiguredException(
- "domain wildcards can only appear in the beginning of the domain, e.g. ``*.example.com``"
- )