Status: Accepted
Owner: ----
Labels: Type-Defect Priority-Medium Target-2.8.4

New issue 1606 by pekka.klarck: Remote interface does not support binary data
http://code.google.com/p/robotframework/issues/detail?id=1606

It is not possible to have bytes 0-31 except 9 (\t), 10 (\n) and 13 (\n) in XML and thus they cannot be send over XML-RPC connection either. XML-RPC handles this by supporting base64 encoded binary data, and the standard Python XML-RPC implementation has Binary class [1] that handles base64 encoding and decoding automatically.

[1] http://docs.python.org/2/library/xmlrpclib.html#binary-objects

This issue covers following steps to enable support for binary data in the Remote interface:

1) Change Remote library so that it:
a) sends Binary objects if bytes that cannot be sent over XML-RPC are present in arguments passed to keywords, and b) converts Binary objects returned or logged by keywords to bytes before forwarding them to Robot.

2) Change robotremoteserver.py so that it:
a) converts possible Binary arguments it receives to bytes, and
b) converts problematic bytes to Binary before sending them to Remote.

3) Document the change in User Guide so that other remote server implementations can be updated accordingly.

-----

There are also Unicode characters, for example U+FFFE and U+FFFF, that cannot be represented in XML nor sent over XML-RPC. The fix proposed in this issue does not, and cannot, solve that issue. We can try to fix it later if there is a good use case for using such values. Until that, problematic Unicode strings can be first encoded to UTF-8 and then decoded on the other end.

--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--

--- You received this message because you are subscribed to the Google Groups "robotframework-commit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to robotframework-commit+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to