]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Use escape.utf8() instead of .encode('utf-8') so we don't double-encode
authorBen Darnell <bdarnell@beaker.local>
Wed, 21 Apr 2010 21:17:22 +0000 (14:17 -0700)
committerBen Darnell <bdarnell@beaker.local>
Wed, 21 Apr 2010 21:17:58 +0000 (14:17 -0700)
tornado/httpclient.py
tornado/wsgi.py

index c8702d209e0bdef056acfcfcec86472b28d6a2ba..76e18bb5b566d1e67b5f1d5c1f2fc145645b20a3 100644 (file)
@@ -21,6 +21,7 @@ import collections
 import cStringIO
 import email.utils
 import errno
+import escape
 import functools
 import httplib
 import ioloop
@@ -406,7 +407,7 @@ def _curl_setup_request(curl, request, buffer, headers):
 
     # Handle curl's cryptic options for every individual HTTP method
     if request.method in ("POST", "PUT"):
-        request_buffer =  cStringIO.StringIO(request.body.encode('utf-8'))
+        request_buffer =  cStringIO.StringIO(escape.utf8(request.body))
         curl.setopt(pycurl.READFUNCTION, request_buffer.read)
         if request.method == "POST":
             def ioctl(cmd):
index 07f4a2be8d336e0a7a48f56ab921956c39c8d331..c14bab9ca49c792d0f5d85ae3babc51ad96f704f 100644 (file)
@@ -261,7 +261,7 @@ class WSGIContainer(object):
             "SERVER_PROTOCOL": request.version,
             "wsgi.version": (1, 0),
             "wsgi.url_scheme": request.protocol,
-            "wsgi.input": cStringIO.StringIO(request.body.encode('utf-8')),
+            "wsgi.input": cStringIO.StringIO(escape.utf8(request.body)),
             "wsgi.errors": sys.stderr,
             "wsgi.multithread": False,
             "wsgi.multiprocess": True,