[Twisted-web] cookie parsing
Wensheng Wang
wenshengwang at gmail.com
Wed Jul 20 07:40:17 MDT 2005
Today I had a problem of not getting back cookie data in twisted web.
After browsing the code I found the culprit. My cookie value has '='
in it.
In twisted.web.http.py, the code of parsing of a cookie:
cookietxt = self.getHeader("cookie")
if cookietxt:
for cook in cookietxt.split(';'):
cook = cook.lstrip()
try:
k, v = cook.split('=')
self.received_cookies[k] = v
except ValueError:
pass
because I have '=' in the value, that k,v=cook.split('=') caused error
and that "pass" hide the error.
Because I used modpython and cgi for the same cookie, the there was no
problem, I assume equal sign in cookie value is legal.
May I suggest change the parsing code to:
pos=cook.find('=')
k,v=cook[0:pos],cook[pos+1:]
or something like this.
More information about the Twisted-web
mailing list