Changeset 1187
- Timestamp:
- 07/06/06 00:33:05
- Files:
-
- trunk/cherrypy/lib/caching.py (modified) (3 diffs)
- trunk/cherrypy/test/test_caching.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/cherrypy/lib/caching.py
r1185 r1187 99 99 100 100 if c: 101 s, cherrypy.response.header_list, b = cacheData 101 response = cherrypy.response 102 s, response.headers, b, create_time = cacheData 103 104 # Add the required Age header 105 response.headers["Age"] = str(int(time.time() - create_time)) 106 102 107 try: 103 108 cptools.validate_since() … … 108 113 109 114 # serve it & get out from the request 110 cherrypy.response.status = s111 cherrypy.response.body = b115 response.status = s 116 response.body = b 112 117 return c 113 118 … … 127 132 # save the cache data 128 133 body = ''.join([chunk for chunk in output]) 129 cherrypy._cache.put((response.status, response.header_list, body)) 134 create_time = time.time() 135 cherrypy._cache.put((response.status, response.headers or {}, 136 body, create_time)) 130 137 response.body = tee(response.body) 131 138 trunk/cherrypy/test/test_caching.py
r1127 r1187 32 32 33 33 def testCaching(self): 34 elapsed = 0.0 34 35 for trial in xrange(10): 35 36 self.getPage("/") 36 # The response should be the same every time! 37 # The response should be the same every time, 38 # except for the Age response header. 37 39 self.assertBody('visit #1') 40 if trial != 0: 41 age = int(self.assertHeader("Age")) 42 self.assert_(age >= elapsed) 43 elapsed = age 38 44 39 45 # POST, PUT, DELETE should not be cached.

