[
https://issues.apache.org/jira/browse/PROTON-2237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17176560#comment-17176560
]
ASF subversion and git services commented on PROTON-2237:
---------------------------------------------------------
Commit 3b916e1213ec865a7056c7dc38dd85c1dc36cb60 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=3b916e1 ]
PROTON-2237: Fix for dictionary keys changed during iteration error, deeper
test for key conversions
> [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: [email protected]
For additional commands, e-mail: [email protected]