X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=wrw%2Futil.py;h=abf865e5a27585fc2521bbb483d2a8d9a48959c5;hb=1864be32db482df017bc7dd57bbd2ccadeec4429;hp=cfc2c8cedf5920f8fa8ee6ce5c83d5338826621d;hpb=525d7938bc668f6079f0fd00a0baad75b1aebe24;p=wrw.git diff --git a/wrw/util.py b/wrw/util.py index cfc2c8c..abf865e 100644 --- a/wrw/util.py +++ b/wrw/util.py @@ -1,5 +1,5 @@ -import inspect -import req, dispatch, session, form, resp +import inspect, math +import req, dispatch, session, form, resp, proto def wsgiwrap(callable): def wrapper(env, startreq): @@ -233,3 +233,10 @@ class specdirty(sessiondata): ss[i] = specslot.unbound else: ss[i] = val + +def datecheck(req, mtime): + if "If-Modified-Since" in req.ihead: + rtime = proto.phttpdate(req.ihead["If-Modified-Since"]) + if rtime >= math.floor(mtime): + raise resp.unmodified() + req.ohead["Last-Modified"] = proto.httpdate(mtime)