"""Configured public email links, independent of request Host/forwarded headers.""" from urllib.parse import urlsplit from ..runtime import get_runtime_settings from ..installation_origin import managed_runtime def valid_public_url(value): value = str(value or '').strip().rstrip('/') try: parsed = urlsplit(value) if (parsed.scheme in {'http', 'https'} and parsed.hostname and not (parsed.username or parsed.password or parsed.query or parsed.fragment) and (parsed.port is None or parsed.port > 0) and not any(c.isspace() or ord(c) < 33 or c in '<>"\\' for c in value)): return value except ValueError: pass return '' def magent_public_url(legacy_url=''): runtime = get_runtime_settings() proxy = getattr(runtime, 'magent_proxy_base_url', None) application = getattr(runtime, 'magent_application_url', None) if managed_runtime(): return valid_public_url(application) if getattr(runtime, 'magent_proxy_enabled', False) and str(proxy or '').strip(): return valid_public_url(proxy) if str(application or '').strip(): return valid_public_url(application) # Preserve pre-existing installations until Hosting & proxy has been configured. return valid_public_url(legacy_url)