Open
Description
Setting the content_encoding
property to an empty string will generate an exception when a message is encoded.
When sending a message with the following properties (for example)
{content_encoding: '', content_type: '', correlation_id: '', headers: {compression: False, x-delay: 60000}, message_id: '4d042d03fff943cda0a60e9b10175b7d', timestamp: datetime.datetime(2023, 6, 5, 9, 36, 19, 158600)}
Will generate an exception:
LookupError: unknown encoding:
File "amqpstorm/message.py", line 181, in publish
return self._channel.basic.publish(body=self._body,
File "amqpstorm/basic.py", line 193, in publish
body = self._handle_utf8_payload(body, properties)
File "amqpstorm/basic.py", line 354, in _handle_utf8_payload
body = bytes(body, encoding=encoding)
I think the problem is that an empty string is not a valid encoding and the check for a valid content_encoding is only if the key is missing from properties.
Lines 348 to 355 in 9c563cf
Metadata
Assignees
Labels
No labels
Activity