Source code for sqlspec.extensions.starlette._state

from dataclasses import dataclass
from typing import TYPE_CHECKING, Any, Literal

if TYPE_CHECKING:
    from sqlspec.config import DatabaseConfigProtocol

__all__ = ("CommitMode", "SQLSpecConfigState")

CommitMode = Literal["manual", "autocommit", "autocommit_include_redirect"]


[docs] @dataclass class SQLSpecConfigState: """Internal state for each database configuration. Tracks all configuration parameters needed for middleware and session management. """ config: "DatabaseConfigProtocol[Any, Any, Any]" connection_key: str pool_key: str session_key: str commit_mode: CommitMode extra_commit_statuses: "set[int] | None" extra_rollback_statuses: "set[int] | None" disable_di: bool enable_correlation_middleware: bool = False correlation_header: str = "x-request-id" correlation_headers: "tuple[str, ...] | None" = None auto_trace_headers: bool = True