in elastic_transport/client_utils.py [0:0]
def basic_auth_to_header(basic_auth: Tuple[str, str]) -> str:
"""Converts a 2-tuple into a 'Basic' HTTP Authorization header"""
if (
not isinstance(basic_auth, tuple)
or len(basic_auth) != 2
or any(not isinstance(item, (str, bytes)) for item in basic_auth)
):
raise ValueError(
"'basic_auth' must be a 2-tuple of str/bytes (username, password)"
)
return (
f"Basic {base64.b64encode(b':'.join(to_bytes(x) for x in basic_auth)).decode()}"
)