Changeset 6939
- Timestamp:
- 12/17/07 05:46:48 (7 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/core/servers/basehttp.py
r6780 r6939 399 399 400 400 # XXX check Content-Length and truncate if too many bytes written? 401 self._write(data) 402 self._flush() 401 402 # If data is too large, socket will choke, so write chunks no larger 403 # than 32MB at a time. 404 length = len(data) 405 if length > 33554432: 406 offset = 0 407 while offset < length: 408 chunk_size = min(33554432, length) 409 self._write(data[offset:offset+chunk_size]) 410 self._flush() 411 offset += chunk_size 412 else: 413 self._write(data) 414 self._flush() 403 415 404 416 def sendfile(self): django/trunk/django/views/static.py
r6768 r6939 60 60 statobj[stat.ST_MTIME], statobj[stat.ST_SIZE]): 61 61 return HttpResponseNotModified() 62 mimetype = mimetypes.guess_type(fullpath)[0] 62 mimetype = mimetypes.guess_type(fullpath)[0] or 'application/octet-stream' 63 63 contents = open(fullpath, 'rb').read() 64 64 response = HttpResponse(contents, mimetype=mimetype) 65 65 response["Last-Modified"] = http_date(statobj[stat.ST_MTIME]) 66 response["Content-Length"] = len(contents) 66 67 return response 67 68 django/trunk/tests/regressiontests/views/tests/static.py
r6731 r6939 14 14 file = open(path.join(media_dir, filename)) 15 15 self.assertEquals(file.read(), response.content) 16 self.assertEquals(len(response.content), int(response['Content-Length'])) 17 18 def test_unknown_mime_type(self): 19 response = self.client.get('/views/site_media/file.unknown') 20 self.assertEquals('application/octet-stream', response['Content-Type']) 16 21 17 22 def test_copes_with_empty_path_component(self): … … 20 25 file = open(path.join(media_dir, file_name)) 21 26 self.assertEquals(file.read(), response.content) 22 23 27
