Returns a valid grpc "metadata" object.
Source code in src/eventstore_grpc/options/base_options.py
| def as_metadata(
credentials: Optional[Dict[str, str]] = None, requires_leader: Optional[bool] = None
) -> Optional[List[Tuple[str, str]]]:
"""Returns a valid grpc "metadata" object."""
metadata = []
if credentials is not None:
if all(elm in ["username", "password"] for elm in credentials):
token = f"{credentials['username']}:{credentials['password']}"
token = base64.b64encode(token.encode("ascii")).decode("ascii")
auth = ("authorization", f"Bearer {token}")
metadata.append(auth)
if requires_leader is not None:
req_leader = ("requires-leader", str(requires_leader).lower())
metadata.append(req_leader)
return metadata if metadata else None
|