[ https://issues.apache.org/jira/browse/PROTON-2237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17126098#comment-17126098 ]
ASF subversion and git services commented on PROTON-2237: --------------------------------------------------------- Commit 65869963ea8b35927e6a0890052c08ca587da022 in qpid-proton's branch refs/heads/python-check-property-keys from Kim van der Riet [ https://gitbox.apache.org/repos/asf?p=qpid-proton.git;h=6586996 ] PROTON-2237: Alternative approach which converts all child classes of string/unicode to the base class, including proton symbol and char types. > [python] Non-string message property keys not handled correctly > --------------------------------------------------------------- > > Key: PROTON-2237 > URL: https://issues.apache.org/jira/browse/PROTON-2237 > Project: Qpid Proton > Issue Type: Bug > Components: python-binding > Reporter: Kim van der Riet > Priority: Major > > The AMQP 1.0 spec allows only string keys for message properties. > Proton's Python binding has a method (_message.py:91 _check_property_keys()) > for checking message property keys, but it does not handle all cases > correctly: > # Proton types Symbol and Char are derived from string, and are allowed in > the test. This results in an illegal encoding. > # Because in Python 2, many coders carelessly use string literals without > the required u'' prefix (and thus results in a bytes type), bytes types are > converted to unicode string types. However, the encode() function is being > used, which simply returns a binary type in Python 2 and raises an error in > Python 3. This should probably be the decode() method, which returns a string > and works for both Python 2 and 3. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org