Message 121865 - Python tracker

This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Content
The CGI interface is a binary stream, because it is pumped directly to/from the HTTP protocol, which is a binary stream.

Hence, cgitb.py should produce binary output.  Presently, it produces text output.

When one sets stdout to a binary stream, and then cgitb intercepts an error, cgitb fails.

Demonstration of problem:

import sys
import traceback
sys.stdout = open("sob", "wb")  # WSGI sez data should be binary, so stdout should be binary???
import cgitb
sys.stdout.write(b"out")
fhb = open("fhb", "wb")
cgitb.enable()
fhb.write("abcdef")  # try writing non-binary to binary file.  Expect an error, of course.