Index: net/tools/testserver/testserver.py |
diff --git a/net/tools/testserver/testserver.py b/net/tools/testserver/testserver.py |
index 7919f87b8f079dea4fd00546bae5a2c1c3cfbace..10ade37b9ef9395e99b9b39321015ea43677657e 100755 |
--- a/net/tools/testserver/testserver.py |
+++ b/net/tools/testserver/testserver.py |
@@ -1629,6 +1629,12 @@ class TestPageHandler(testserver_base.BasePageHandler): |
# a range? |
range_response = False |
range_header = self.headers.getheader('range') |
+ |
+ if fail_precondition and self.headers.getheader('If-Range'): |
+ # Failing a precondition for an If-Range just means that we are going to |
+ # return the entire entity ignoring the Range header. |
+ respond_to_range = False |
+ |
if range_header and respond_to_range: |
mo = re.match("bytes=(\d*)-(\d*)", range_header) |
if mo.group(1): |
@@ -1641,13 +1647,6 @@ class TestPageHandler(testserver_base.BasePageHandler): |
if last_byte < first_byte: |
return False |
- if (fail_precondition and |
- (self.headers.getheader('If-Modified-Since') or |
- self.headers.getheader('If-Match'))): |
- self.send_response(412) |
- self.end_headers() |
- return True |
- |
if range_response: |
self.send_response(206) |
self.send_header('Content-Range', |