always quote port value

git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@2992 e7d03fd6-7b0d-0410-9947-9c21f3af8025
This commit is contained in:
calvin 2005-12-19 14:08:34 +00:00
parent 815fb9da83
commit a24fd65943

View file

@ -241,6 +241,24 @@ class HttpCookie (object):
if not self.check_secure(scheme):
raise CookieError("no secure scheme %r" % scheme)
def quote (self, key, value):
return quote(value)
def server_header_value (self):
parts = ["%s=%s" % (self.name, quote(self.value))]
parts += ["%s=%s"% (self.attribute_names[k], self.quote(k, v)) \
for k, v in self.attributes.items()]
return "; ".join(parts)
def client_header_value (self):
parts = []
if "version" in self.attributes:
parts.append("$Version=%s" % quote(self.attributes["version"]))
parts.append("%s=%s" % (self.name, quote(self.value)))
parts += ["$%s=%s"% (self.attribute_names[k], self.quote(k, v)) \
for k, v in self.attributes.items() if k != "version"]
return "; ".join(parts)
class NetscapeCookie (HttpCookie):
"""
@ -254,21 +272,6 @@ class NetscapeCookie (HttpCookie):
def server_header_name (self):
return "Set-Cookie"
def server_header_value (self):
parts = ["%s=%s" % (self.name, quote(self.value))]
parts += ["%s=%s"% (self.attribute_names[k], quote(v)) \
for k, v in self.attributes.items()]
return "; ".join(parts)
def client_header_value (self):
parts = []
if "version" in self.attributes:
parts.append("$Version=%s" % quote(self.attributes["version"]))
parts.append("%s=%s" % (self.name, quote(self.value)))
parts += ["$%s=%s"% (self.attribute_names[k], quote(v)) \
for k, v in self.attributes.items() if k != "version"]
return "; ".join(parts)
class Rfc2965Cookie (HttpCookie):
@ -283,6 +286,15 @@ class Rfc2965Cookie (HttpCookie):
ports = [int(x) for x in cport.split(",")]
return port in ports
def server_header_name (self):
return "Set-Cookie2"
def quote (self, key, value):
if key == "port":
return quote(value, LegalChars="")
return quote(value)
# XXX more methods (equality test)