At 09:16 AM 9/22/2009 +1000, Graham Dumpleton wrote:
For one, we aren't talking about arbitrary keys needing this treatment.

We are only talking about SCRIPT_NAME and PATH_INFO.

Everything else from CGI will be passed as ISO-8859-1 and up to WSGI
components/applications to explicitly worry about those if need to
deal with them in special ways. Eg., REQUEST_URI, QUERY_STRING,
HTTP_COOKIE, HTTP_REFERRER.

I'm not really thrilled with the idea of encoding different values differently, because it means that many more things for an implementer to remember to do correctly, but for which they receive no guidance or error messages if they get it wrong at first.

One big benefit of surrogateescape is that it maintains a certain symmetry between Python 2 and 3 wrt os.environ and CGI. That is, you can in principle just throw a few extra keys into a copy of os.environ and have a valid wsgi environment. (At least, in places where the system encoding is utf8, anyway.) If you don't make it uniform across all CGI keys, then you have to write more a complex adapter, and at every level you need to remember what sort of key you're touching.

_______________________________________________
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com

Reply via email to