# HG changeset patch # User Jeff Hammel # Date 1330985311 28800 # Node ID 86b519dd8467a6477954408fe2573c0a44994633 # Parent 0edb831061f5a25db5772a47afc0d4b945e9ad90 finish test and implementation diff -r 0edb831061f5 -r 86b519dd8467 tests/test_fileapp.txt --- a/tests/test_fileapp.txt Mon Mar 05 14:06:00 2012 -0800 +++ b/tests/test_fileapp.txt Mon Mar 05 14:08:31 2012 -0800 @@ -29,7 +29,7 @@ 6L >>> req = Request.blank('/') >>> res = req.get_response(app) - >>> print res + >>> print res 200 OK Content-Type: text/plain; charset=UTF-8 Content-Length: 6 @@ -46,3 +46,25 @@ >>> req3.if_modified_since = res.last_modified >>> req3.get_response(app) + +We can even do Range requests:: + + >>> req = Request.blank('/') + >>> res = req.get_response(app) + >>> req2 = Request.blank('/') + >>> # Re-fetch the first 3 bytes: + >>> req2.range = (0, 3) + >>> res2 = req2.get_response(app) + >>> res2 + + >>> res2.body + 'hel' + >>> # Now, conditional range support: + >>> req3 = Request.blank('/') + >>> req3.if_range = res.etag + >>> req3.range = (0, 3) + >>> req3.get_response(app) + + >>> req3.if_range = 'invalid-etag' + >>> req3.get_response(app) +