vue_ssr.settings
1from dataclasses import dataclass 2from typing import NotRequired, TypedDict 3 4 5class VueSSRConfig(TypedDict): 6 """ 7 Helper type to configure Vue SSR in settings.py. 8 9 Example: 10 VUE_SSR: VueSSRConfig = { 11 "host": "localhost", 12 "port": 3123, 13 } 14 """ 15 16 host: NotRequired[str] 17 """ Host for Vue SSR server. Defaults to `localhost`. """ 18 port: NotRequired[str | int] 19 """ Port for Vue SSR server. Defaults to `3123`. """ 20 socket: NotRequired[str | None] 21 """ Unix socket path for Vue SSR server. """ 22 protocol: NotRequired[str] 23 """ Protocol for Vue SSR server. Defaults to `http`. """ 24 vite_host: NotRequired[str] 25 """ Host for Vite server during development. Defaults to `localhost`. """ 26 vite_port: NotRequired[str] 27 """ Port for Vite server during development. Defaults to `5173`. """ 28 vite_protocol: NotRequired[str] 29 """ Protocol for Vite server during development. Defaults to `http`. """ 30 timeout: NotRequired[int | None] 31 """ Timeout for Vue SSR requests in milliseconds (default: 10). Set to None to disable timeout. """ 32 debug: NotRequired[bool] 33 """Enable debug mode for Vue SSR. In debug mode, Vite will be used to render components. Defaults to `settings.DEBUG`.""" 34 35 36@dataclass(frozen=True) 37class VueSSRSettings: 38 """ 39 @private 40 """ 41 42 host: str 43 port: str | int 44 socket: str | None 45 protocol: str 46 vite_host: str 47 vite_port: str 48 vite_protocol: str 49 timeout: int 50 debug: bool 51 52 53def get_vue_ssr_settings() -> VueSSRSettings: 54 """ 55 @private 56 Get the Vue SSR settings. 57 :return: VueSSRSettings 58 """ 59 from django.conf import settings 60 61 config: VueSSRConfig = getattr(settings, "VUE_SSR", VueSSRConfig()) 62 63 return VueSSRSettings( 64 host=config.get("host", "127.0.0.1"), 65 port=config.get("port", "3123"), 66 socket=config.get("socket"), 67 protocol=config.get("protocol", "http"), 68 vite_host=config.get("vite_host", ""), 69 vite_port=config.get("vite_port", ""), 70 vite_protocol=config.get("vite_protocol", "http"), 71 timeout=config.get("timeout") or 10, 72 debug=config.get("debug", settings.DEBUG), 73 )
class
VueSSRConfig(typing.TypedDict):
6class VueSSRConfig(TypedDict): 7 """ 8 Helper type to configure Vue SSR in settings.py. 9 10 Example: 11 VUE_SSR: VueSSRConfig = { 12 "host": "localhost", 13 "port": 3123, 14 } 15 """ 16 17 host: NotRequired[str] 18 """ Host for Vue SSR server. Defaults to `localhost`. """ 19 port: NotRequired[str | int] 20 """ Port for Vue SSR server. Defaults to `3123`. """ 21 socket: NotRequired[str | None] 22 """ Unix socket path for Vue SSR server. """ 23 protocol: NotRequired[str] 24 """ Protocol for Vue SSR server. Defaults to `http`. """ 25 vite_host: NotRequired[str] 26 """ Host for Vite server during development. Defaults to `localhost`. """ 27 vite_port: NotRequired[str] 28 """ Port for Vite server during development. Defaults to `5173`. """ 29 vite_protocol: NotRequired[str] 30 """ Protocol for Vite server during development. Defaults to `http`. """ 31 timeout: NotRequired[int | None] 32 """ Timeout for Vue SSR requests in milliseconds (default: 10). Set to None to disable timeout. """ 33 debug: NotRequired[bool] 34 """Enable debug mode for Vue SSR. In debug mode, Vite will be used to render components. Defaults to `settings.DEBUG`."""
Helper type to configure Vue SSR in settings.py.
Example: VUE_SSR: VueSSRConfig = { "host": "localhost", "port": 3123, }