mirror of
https://github.com/django/django.git
synced 2025-10-24 14:16:09 +00:00
Fixed #5596 -- Changed the static view for the development server so that Django doesn't crash if somebody tries to serve a 200MB file. Patch from eibaan.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@6939 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
@@ -398,8 +398,20 @@ class ServerHandler(object):
|
||||
self.bytes_sent += len(data)
|
||||
|
||||
# XXX check Content-Length and truncate if too many bytes written?
|
||||
self._write(data)
|
||||
self._flush()
|
||||
|
||||
# If data is too large, socket will choke, so write chunks no larger
|
||||
# than 32MB at a time.
|
||||
length = len(data)
|
||||
if length > 33554432:
|
||||
offset = 0
|
||||
while offset < length:
|
||||
chunk_size = min(33554432, length)
|
||||
self._write(data[offset:offset+chunk_size])
|
||||
self._flush()
|
||||
offset += chunk_size
|
||||
else:
|
||||
self._write(data)
|
||||
self._flush()
|
||||
|
||||
def sendfile(self):
|
||||
"""Platform-specific file transmission
|
||||
|
||||
Reference in New Issue
Block a user