#157 Cherrypy does not like getting unicode objects and fails terribly
Merged 7 years ago by puiterwijk. Opened 7 years ago by puiterwijk.
puiterwijk/ipsilon return-str  into  master

file modified
+4 -4
@@ -66,7 +66,7 @@ 

          if len(args) > 0:

              op = getattr(self, args[0], None)

              if callable(op) and getattr(op, 'public_function', None):

-                 return op(*args[1:], **kwargs)

+                 return op(*args[1:], **kwargs).encode('utf-8')

          else:

              if self._is_form_page:

                  self.debug("method: %s" % cherrypy.request.method)
@@ -84,13 +84,13 @@ 

                              self.debug("Wrong referer %s in request to %s"

                                         % (referer, url))

                              raise cherrypy.HTTPError(403)

-                     return op(*args, **kwargs)

+                     return op(*args, **kwargs).encode('utf-8')

              else:

                  op = getattr(self, 'root', None)

                  if callable(op):

-                     return op(*args, **kwargs)

+                     return op(*args, **kwargs).encode('utf-8')

  

-         return self.default(*args, **kwargs)

+         return self.default(*args, **kwargs).encode('utf-8')

  

      def _template_model(self):

          model = dict()

It fails by logging a 200 in Apache logs, nothing else, and then sending
a 500 Internal Server Error to the client.

Signed-off-by: Patrick Uiterwijk puiterwijk@redhat.com

Commit 87274e8 fixes this pull-request

Pull-Request has been merged by puiterwijk@redhat.com

7 years ago
Metadata