]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
make IOCMD_RESTARTREAD available for PUT requests 1116/head
authorhomm <homm86@gmail.com>
Wed, 16 Jul 2014 13:43:12 +0000 (17:43 +0400)
committerhomm <homm86@gmail.com>
Wed, 16 Jul 2014 13:43:12 +0000 (17:43 +0400)
tornado/curl_httpclient.py

index e09005691b3ed7f5f179affeeff750f1c94c9930..a46ce4055151639170badc2cd0e2c1ed87f54565 100644 (file)
@@ -405,12 +405,12 @@ 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 = BytesIO(utf8(request.body))
+        def ioctl(cmd):
+            if cmd == curl.IOCMD_RESTARTREAD:
+                request_buffer.seek(0)
         curl.setopt(pycurl.READFUNCTION, request_buffer.read)
+        curl.setopt(pycurl.IOCTLFUNCTION, ioctl)
         if request.method == "POST":
-            def ioctl(cmd):
-                if cmd == curl.IOCMD_RESTARTREAD:
-                    request_buffer.seek(0)
-            curl.setopt(pycurl.IOCTLFUNCTION, ioctl)
             curl.setopt(pycurl.POSTFIELDSIZE, len(request.body))
         else:
             curl.setopt(pycurl.INFILESIZE, len(request.body))