INNER CODE UNIT · Python
ensure_url_scheme
Altinity/clickhouse-operator · tools/restore_shared_to_replicated.py:157
def ensure_url_scheme(url: str) -> str:
"""urlparse('host:9000') treats 'host' as scheme and leaves netloc empty."""
url = url.strip()
if "://" in url:
return url
hostport = url.split("/", 1)[0]
port = hostport.rsplit(":", 1)[-1] if ":" in hostport else ""
scheme = "http" if port in {"80", "8080", "9000", "9090"} else "https"
return f"{scheme}://{url}"
class S3Client:
"""Minimal GetObject client (SigV4). Path-style; scheme taken from endpoint / restore URL."""
def __init__(self, args: argparse.Namespace) -> None:
self.access_key = args.access_key
self.secret_key = args.secret_key
self.region = args.region