Dolda2000 GitWeb
/
wrw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Handle missing-Host-header condition.
[wrw.git]
/
wrw
/
cookie.py
diff --git
a/wrw/cookie.py
b/wrw/cookie.py
index
2c6f982
..
4f5071a
100644
(file)
--- a/
wrw/cookie.py
+++ b/
wrw/cookie.py
@@
-1,4
+1,5
@@
-import Cookie
+import Cookie, time
+import proto
__all__ = ["cookies", "get", "add"]
__all__ = ["cookies", "get", "add"]
@@
-9,7
+10,10
@@
def addcookies(req):
class cookiedict(object):
def __init__(self, req):
class cookiedict(object):
def __init__(self, req):
- self.bk = Cookie.SimpleCookie(req.ihead.get("Cookie"))
+ try:
+ self.bk = Cookie.SimpleCookie(req.ihead.get("Cookie"))
+ except Cookie.CookieError:
+ self.bk = Cookie.SimpleCookie()
self.codec = Cookie.SimpleCookie()
req.oncommit(addcookies)
self.codec = Cookie.SimpleCookie()
req.oncommit(addcookies)
@@
-24,9
+28,10
@@
class cookiedict(object):
return default
return self.bk[name].value
return default
return self.bk[name].value
- def add(self, name, value,
path = None
):
+ def add(self, name, value,
**kw
):
self.codec[name] = value
self.codec[name] = value
- if path is not None: self.codec[name]["path"] = path
+ for key, value in kw.iteritems():
+ self.codec[name][key] = value
def __setitem__(self, name, value):
self.add(name, value)
def __setitem__(self, name, value):
self.add(name, value)
@@
-37,5
+42,7
@@
def cookies(req):
def get(req, name, default = None):
return cookies(req).get(name, default)
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