Chromium Code Reviews| Index: net/tools/testserver/testserver.py |
| =================================================================== |
| --- net/tools/testserver/testserver.py (revision 66374) |
| +++ net/tools/testserver/testserver.py (working copy) |
| @@ -221,7 +221,8 @@ |
| 'gif': 'image/gif', |
| 'jpeg' : 'image/jpeg', |
| 'jpg' : 'image/jpeg', |
| - 'xml' : 'text/xml' |
| + 'xml' : 'text/xml', |
| + 'pdf' : 'application/pdf' |
| } |
| self._default_mime_type = 'text/html' |
| @@ -698,9 +699,27 @@ |
| else: |
| # Could be more generic once we support mime-type sniffing, but for |
| # now we need to set it explicitly. |
| - self.send_response(200) |
| + |
| + range = self.headers.get('Range') |
| + if range and range.startswith('bytes='): |
| + # Note this doesn't handle all valid byte range values (i.e. open ended |
| + # ones), just enough for what we needed so far. |
| + range = range[6:].split('-') |
| + start = int(range[0]) |
| + end = int(range[1]) |
| + |
| + self.send_response(206) |
| + content_range = 'bytes ' + str(start) + '-' + str(end) + '/' + \ |
| + str(len(data)) |
| + self.send_header('Content-Range', content_range) |
| + data = data[start: end + 1] |
| + else: |
| + self.send_response(200) |
|
Nico
2010/11/17 14:02:19
should you send some error code if range and not r
jam
2010/11/17 16:53:15
given how primitive this server is, I don't think
|
| + |
| self.send_header('Content-type', self.GetMIMETypeFromName(file_path)) |
| + self.send_header('Accept-Ranges', 'bytes') |
| self.send_header('Content-Length', len(data)) |
| + self.send_header('ETag', '\'' + file_path + '\'') |
| self.end_headers() |
| self.wfile.write(data) |