From c6cb9655eedf15268d0be0a14fefb5b3fa2cff92 Mon Sep 17 00:00:00 2001 From: Artem Muterko Date: Mon, 2 Mar 2026 21:02:15 +0100 Subject: [PATCH] fix: correct isinstance check to include bytearray in kafka conversion The isinstance check in to_structured had a duplicate `bytes` entry instead of `bytearray`, meaning bytearray data would not be correctly base64-encoded in the structured kafka message. Co-Authored-By: Claude Opus 4.6 Signed-off-by: Artem Muterko --- src/cloudevents/v1/kafka/conversion.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cloudevents/v1/kafka/conversion.py b/src/cloudevents/v1/kafka/conversion.py index 3c0d3c7..a25af07 100644 --- a/src/cloudevents/v1/kafka/conversion.py +++ b/src/cloudevents/v1/kafka/conversion.py @@ -183,7 +183,7 @@ def to_structured( raise cloud_exceptions.DataMarshallerError( f"Failed to marshall data with error: {type(e).__name__}('{e}')" ) - if isinstance(data, (bytes, bytes, memoryview)): + if isinstance(data, (bytes, bytearray, memoryview)): attrs["data_base64"] = base64.b64encode(data).decode("ascii") else: attrs["data"] = data