diff options
-rwxr-xr-x | bottle.py | 4 | ||||
-rwxr-xr-x | test/test_sendfile.py | 5 |
2 files changed, 7 insertions, 2 deletions
@@ -2928,8 +2928,8 @@ def static_file(filename, root, ims = getenv('HTTP_IF_MODIFIED_SINCE') if ims: ims = parse_date(ims.split(";")[0].strip()) - if ims is not None and ims >= int(stats.st_mtime): - return HTTPResponse(status=304, **headers) + if ims is not None and ims >= int(stats.st_mtime): + return HTTPResponse(status=304, **headers) body = '' if request.method == 'HEAD' else open(filename, 'rb') diff --git a/test/test_sendfile.py b/test/test_sendfile.py index d6693c2..ef8eef5 100755 --- a/test/test_sendfile.py +++ b/test/test_sendfile.py @@ -95,6 +95,11 @@ class TestSendFile(unittest.TestCase): request.environ['HTTP_IF_MODIFIED_SINCE'] = bottle.http_date(100) self.assertEqual(open(__file__,'rb').read(), static_file(basename, root=root).body.read()) + def test_ims_empty(self): + """ SendFile: Empty If-Modified-Since""" + request.environ['HTTP_IF_MODIFIED_SINCE'] = '' + self.assertEqual(open(__file__, 'rb').read(), static_file(basename, root=root).body.read()) + def test_etag(self): """ SendFile: If-Modified-Since""" res = static_file(basename, root=root) |