Changeset 2066
- Timestamp:
- 11/08/08 11:39:50
- Files:
-
- branches/cherrypy-3.1.x/cherrypy/_cptools.py (modified) (1 diff)
- branches/cherrypy-3.1.x/cherrypy/test/test_etags.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/cherrypy-3.1.x/cherrypy/_cptools.py
r1986 r2066 467 467 _d.log_hooks = Tool('on_end_request', cptools.log_hooks, priority=100) 468 468 _d.err_redirect = ErrorTool(cptools.redirect) 469 _d.etags = Tool('before_finalize', cptools.validate_etags )469 _d.etags = Tool('before_finalize', cptools.validate_etags, priority=75) 470 470 _d.decode = Tool('before_handler', encoding.decode) 471 471 # the order of encoding, gzip, caching is important branches/cherrypy-3.1.x/cherrypy/test/test_etags.py
r1445 r2066 18 18 raise cherrypy.HTTPError(code) 19 19 fail.exposed = True 20 21 def unicoded(self): 22 return u'I am a \u1ee4nicode string.' 23 unicoded.exposed = True 24 unicoded._cp_config = {'tools.encode.on': True} 20 25 21 26 conf = {'/': {'tools.etags.on': True, 22 'tools.etags.autotags': True}} 27 'tools.etags.autotags': True, 28 }} 23 29 cherrypy.tree.mount(Root(), config=conf) 24 30 cherrypy.config.update({'environment': 'test_suite'}) … … 28 34 class ETagTest(helper.CPWebCase): 29 35 30 def test ETags(self):36 def test_etags(self): 31 37 self.getPage("/resource") 32 38 self.assertStatus('200 OK') … … 54 60 self.getPage("/resource", headers=[('If-None-Match', "a bogus tag")]) 55 61 self.assertStatus("200 OK") 62 63 def test_errors(self): 64 self.getPage("/resource") 65 self.assertStatus(200) 66 etag = self.assertHeader('ETag') 56 67 57 68 # Test raising errors in page handler … … 64 75 self.getPage("/fail/304", headers=[('If-None-Match', "*")]) 65 76 self.assertStatus(304) 77 78 def test_unicode_body(self): 79 self.getPage("/unicoded") 80 self.assertStatus(200) 81 etag1 = self.assertHeader('ETag') 82 self.getPage("/unicoded", headers=[('If-Match', etag1)]) 83 self.assertStatus(200) 84 self.assertHeader('ETag', etag1) 66 85 67 86

