]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Backport for bug #839496: always read files in binary mode. Opening files in
authorJohannes Gijsbers <jlg@dds.nl>
Mon, 10 Jan 2005 09:27:17 +0000 (09:27 +0000)
committerJohannes Gijsbers <jlg@dds.nl>
Mon, 10 Jan 2005 09:27:17 +0000 (09:27 +0000)
text mode may cause newline translations, making the actual size of the content
transmitted *less* than the content-length.

Lib/SimpleHTTPServer.py

index 93662ab1948ae312a2d8dda743bab6748f183740..4d8eb77fc242c4c2d0a7418a74fdfde359aac055 100644 (file)
@@ -70,12 +70,11 @@ class SimpleHTTPRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
             else:
                 return self.list_directory(path)
         ctype = self.guess_type(path)
-        if ctype.startswith('text/'):
-            mode = 'r'
-        else:
-            mode = 'rb'
         try:
-            f = open(path, mode)
+            # Always read in binary mode. Opening files in text mode may cause
+            # newline translations, making the actual size of the content
+            # transmitted *less* than the content-length!
+            f = open(path, 'rb')
         except IOError:
             self.send_error(404, "File not found")
             return None