Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Reverting r3805 whilst I track down a potential problem with it.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@3806 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 12273fa947ec7c58b4d5e830aaa8e6538e1674b1 1 parent 6a12d76
@malcolmt malcolmt authored
Showing with 1 addition and 26 deletions.
  1. +0 −1  AUTHORS
  2. +1 −25 django/core/handlers/wsgi.py
View
1  AUTHORS
@@ -100,7 +100,6 @@ answer newbie questions, and generally made Django that much better:
lakin.wecker@gmail.com
Stuart Langridge <http://www.kryogenix.org/>
Eugene Lazutkin <http://lazutkin.com/blog/>
- Jeong-Min Lee
Christopher Lenz <http://www.cmlenz.net/>
limodou
Martin Maney <http://www.chipy.org/Martin_Maney>
View
26 django/core/handlers/wsgi.py
@@ -4,11 +4,6 @@
from django.utils import datastructures
from django import http
from pprint import pformat
-from shutil import copyfileobj
-try:
- from cStringIO import StringIO
-except ImportError:
- from StringIO import StringIO
# See http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
STATUS_CODE_TEXT = {
@@ -55,21 +50,6 @@
505: 'HTTP VERSION NOT SUPPORTED',
}
-def safe_copyfileobj(fsrc, fdst, length=16*1024, size=0):
- """
- A version of shutil.copyfileobj that will not read more than 'size' bytes.
- This makes it safe from clients sending more than CONTENT_LENGTH bytes of
- data in the body.
- """
- if not size:
- return copyfileobj(fsrc, fdst, length)
- while size > 0:
- buf = fsrc.read(min(length, remain))
- if not buf:
- break
- fdst.write(buf)
- size -= len(buf)
-
class WSGIRequest(http.HttpRequest):
def __init__(self, environ):
self.environ = environ
@@ -139,11 +119,7 @@ def _get_raw_post_data(self):
try:
return self._raw_post_data
except AttributeError:
- buf = StringIO()
- content_length = int(self.environ['CONTENT_LENGTH'])
- safe_copyfileobj(self.environ['wsgi.input'], buf, size=content_length)
- self._raw_post_data = buf.getvalue()
- buf.close()
+ self._raw_post_data = self.environ['wsgi.input'].read(int(self.environ["CONTENT_LENGTH"]))
return self._raw_post_data
GET = property(_get_get, _set_get)
Please sign in to comment.
Something went wrong with that request. Please try again.