import cStringIO
import email.utils
import errno
+import escape
import functools
import httplib
import ioloop
# 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):
"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,