From 9632e94afbe172ef30f394c8fb7d896ed6e43f87 Mon Sep 17 00:00:00 2001 From: Johannes Gijsbers Date: Mon, 10 Jan 2005 09:27:17 +0000 Subject: Backport for bug #839496: always read files 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. --- Lib/SimpleHTTPServer.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/Lib/SimpleHTTPServer.py b/Lib/SimpleHTTPServer.py index 93662ab..4d8eb77 100644 --- a/Lib/SimpleHTTPServer.py +++ b/Lib/SimpleHTTPServer.py @@ -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 -- cgit v0.12