How are PREFERRED_URL_SCHEME, SERVER_NAME, APPLICATION_ROOT and BASE_URL related in Flask?

Solution
def __init__(
    self,
    app: "Flask",
    path: str = "/",
    base_url: t.Optional[str] = None,
    subdomain: t.Optional[str] = None,
    url_scheme: t.Optional[str] = None,
    *args: t.Any,
    **kwargs: t.Any,
) -> None:

    assert not (base_url or subdomain or url_scheme) or (
        base_url is not None
    ) != bool(
        subdomain or url_scheme
    ), 'Cannot pass "subdomain" or "url_scheme" with "base_url".'

    if base_url is None:
        http_host = app.config.get("SERVER_NAME") or "localhost"
        app_root = app.config["APPLICATION_ROOT"]

        if subdomain:
            http_host = f"{subdomain}.{http_host}"

        if url_scheme is None:
            url_scheme = app.config["PREFERRED_URL_SCHEME"]

        url = url_parse(path)
        base_url = ( 
            f"{url.scheme or url_scheme}://{url.netloc or http_host}"
            f"/{app_root.lstrip('/')}"
        )