Skip to content

parse_security

faststream.confluent.security.parse_security #

parse_security(security)
Source code in faststream/confluent/security.py
def parse_security(security: BaseSecurity | None) -> dict[str, Any]:
    if security is None:
        return {}

    if security.ssl_context:
        msg = "ssl_context is not supported by confluent-kafka-python, please use config instead."
        raise SetupError(msg)

    if isinstance(security, SASLPlaintext):
        return _parse_sasl_plaintext(security)
    if isinstance(security, SASLScram256):
        return _parse_sasl_scram256(security)
    if isinstance(security, SASLScram512):
        return _parse_sasl_scram512(security)
    if isinstance(security, SASLOAuthBearer):
        return _parse_sasl_oauthbearer(security)
    if isinstance(security, SASLGSSAPI):
        return _parse_sasl_gssapi(security)
    if isinstance(security, BaseSecurity):
        return _parse_base_security(security)

    msg = f"KafkaBroker does not support `{type(security)}`."
    raise NotImplementedError(msg)