> self.send_header("X-traceback", traceback.format_exc())
That's fairly tricky. send_header expects two strings (bytes are
not acceptable), and also requires these strings to be ASCII.
This is why it breaks: format_exc returns a non-ASCII string.
I see two options:
a) allow non-Unicode values for keyword and value in send_header,
and have xmlrpc.server encode the header itself, or
b) properly MIME-encode value if it contains non-ASCII characters
(keyword really must be ASCII, I think).
Not sure whether there is any precedence for UTF-8 in HTTP
headers. |