-import Cookie
+import http.cookies, time
+from . import proto
__all__ = ["cookies", "get", "add"]
class cookiedict(object):
def __init__(self, req):
- self.bk = Cookie.SimpleCookie(req.ihead.get("Cookie"))
- self.codec = Cookie.SimpleCookie()
+ try:
+ self.bk = http.cookies.SimpleCookie(req.ihead.get("Cookie"))
+ except http.cookies.CookieError:
+ self.bk = http.cookies.SimpleCookie()
+ self.codec = http.cookies.SimpleCookie()
req.oncommit(addcookies)
def __getitem__(self, name):
return default
return self.bk[name].value
- def add(self, name, value, path = None):
+ def add(self, name, value, **kw):
self.codec[name] = value
- if path is not None: self.codec[name]["path"] = path
+ for key, value in kw.items():
+ self.codec[name][key] = value
def __setitem__(self, name, value):
self.add(name, value)
def get(req, name, default = None):
return cookies(req).get(name, default)
-def add(req, name, value, path = None):
- cookies(req).add(name, value, path)
+def add(req, name, value, **kw):
+ cookies(req).add(name, value, **kw)
+
+cdate = proto.httpdate