summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/qpid/messaging/message.py16
-rw-r--r--python/qpid/tests/messaging/message.py6
2 files changed, 20 insertions, 2 deletions
diff --git a/python/qpid/messaging/message.py b/python/qpid/messaging/message.py
index e2406f16e7..b70b365c16 100644
--- a/python/qpid/messaging/message.py
+++ b/python/qpid/messaging/message.py
@@ -49,11 +49,23 @@ TYPE_MAPPINGS={
DEFAULT_CODEC = (lambda x: x, lambda x: x)
+def encode_text_plain(x):
+ if x is None:
+ return None
+ else:
+ return x.encode("utf8")
+
+def decode_text_plain(x):
+ if x is None:
+ return None
+ else:
+ return x.decode("utf8")
+
TYPE_CODEC={
"amqp/map": codec("map"),
"amqp/list": codec("list"),
- "text/plain; charset=utf8": (lambda x: x.encode("utf8"), lambda x: x.decode("utf8")),
- "text/plain": (lambda x: x.encode("utf8"), lambda x: x.decode("utf8")),
+ "text/plain; charset=utf8": (encode_text_plain, decode_text_plain),
+ "text/plain": (encode_text_plain, decode_text_plain),
"": DEFAULT_CODEC,
None: DEFAULT_CODEC
}
diff --git a/python/qpid/tests/messaging/message.py b/python/qpid/tests/messaging/message.py
index 91aab5fb35..526a5cfab6 100644
--- a/python/qpid/tests/messaging/message.py
+++ b/python/qpid/tests/messaging/message.py
@@ -111,3 +111,9 @@ class MessageEchoTests(Base):
def testContentTypeUnknown(self):
msg = Message(content_type = "this-content-type-does-not-exist")
self.check(msg)
+
+ def testTextPlain(self):
+ self.check(Message(content_type="text/plain", content="asdf"))
+
+ def testTextPlainEmpty(self):
+ self.check(Message(content_type="text/plain"))