1. cherrypy
  2. CherryPy
Issue #1123 new

ResponseEncoder: replace text_only with something more flexible

Anonymous created an issue

It seems that currently the default is to only encode only "text/*".

This can cause problems if the action returns something like "application/xml":

{{{ Traceback (most recent call last): File "/usr/home/jcigar/venvs/amnesiacp/lib/python2.7/site-packages/cherrypy/wsgiserver/wsgiserver2.py", line 1302, in communicate req.respond() File "/usr/home/jcigar/venvs/amnesiacp/lib/python2.7/site-packages/cherrypy/wsgiserver/wsgiserver2.py", line 831, in respond self.server.gateway(self).respond() File "/usr/home/jcigar/venvs/amnesiacp/lib/python2.7/site-packages/cherrypy/wsgiserver/wsgiserver2.py", line 2126, in respond chunk = chunk.encode('ISO-8859-1') UnicodeEncodeError: 'latin-1' codec can't encode characters in position 435-442: ordinal not in range(256) }}}

The encoding tool does text only by default so it doesn't try to encode something like "image/gif".

I think that text_only should be replaced with something more flexible, something like: {{{ tools.encode.mime_types = ['text/*', 'application/xml'] }}}

Comments (0)

  1. Log in to comment