]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Return HTTP 416 Range Not Satisfiable, not 406
authorDavid Wolever <david@wolever.net>
Sat, 18 May 2013 19:30:41 +0000 (15:30 -0400)
committerDavid Wolever <david@wolever.net>
Sat, 18 May 2013 19:30:41 +0000 (15:30 -0400)
tornado/test/web_test.py
tornado/web.py

index 09f04ae6ef544a447404d9e1182c98c5b78d6a4e..751cde929ada07ecf2c858b2e5bb43549ae09eb4 100644 (file)
@@ -897,7 +897,7 @@ class StaticFileTest(WebTestCase):
     def test_static_invalid_range(self):
         response = self.fetch('/static/robots.txt', headers={
                 'Range': 'asdf'})
-        self.assertEqual(response.code, 406)
+        self.assertEqual(response.code, 416)
 
 
 @wsgi_safe
index 9e51352552dc2e198259b4046c8413885df649a6..6a4f76df15159654619ed33e135265d4900e8883 100644 (file)
@@ -1760,8 +1760,11 @@ class StaticFileHandler(RequestHandler):
         if range_header:
             request_range = httputil.parse_request_range(range_header)
             if not request_range:
-                # 406: Not Acceptable
-                self.set_status(406)
+                # 416: Range Not Satisfiable
+                self.set_status(416)
+                self.set_header("Content-Type", "text/plain")
+                self.write(utf8("The provided Range header is not valid: %r\n"
+                                "Note: multiple ranges are not supported"))
                 return
 
         with open(abspath, "rb") as file: