Source code for runtimepy.net.html.arbiter

"""
A module implementing connection-arbiter related utilities.
"""

# internal
from runtimepy.net.arbiter.config import ConfigObject


[docs] def web_app_paths(config: ConfigObject) -> None: """ Register boilerplate path handling for additional application-serving URIs. """ config.setdefault("config", {}) redirects = config["config"].setdefault("http_redirects", {}) app_paths = config["config"].setdefault("http_app_paths", []) for prefix in config["config"].get("http_app_prefixes", []): if not prefix.startswith("/"): prefix = "/" + prefix assert not prefix.endswith("/"), prefix # Add re-directs. index_path = f"{prefix}/index.html" app_path = f"{prefix}/app.html" redirects.setdefault(prefix, index_path) redirects.setdefault(index_path, app_path) # Add app path. if app_path not in app_paths: app_paths.append(app_path)