Merged revisions 83145 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/release27-maint
........
r83145 | gregory.p.smith | 2010-07-25 12:11:36 -0700 (Sun, 25 Jul 2010) | 3 lines
Fixes issue #3704: cookielib was not properly handling URLs with a / in the
parameters.
........
diff --git a/Lib/cookielib.py b/Lib/cookielib.py
index b61a2b2..5b25090 100644
--- a/Lib/cookielib.py
+++ b/Lib/cookielib.py
@@ -607,19 +607,14 @@
return req_host, erhn
def request_path(request):
- """request-URI, as defined by RFC 2965."""
+ """Path component of request-URI, as defined by RFC 2965."""
url = request.get_full_url()
- #scheme, netloc, path, parameters, query, frag = urlparse.urlparse(url)
- #req_path = escape_path("".join(urlparse.urlparse(url)[2:]))
- path, parameters, query, frag = urlparse.urlparse(url)[2:]
- if parameters:
- path = "%s;%s" % (path, parameters)
- path = escape_path(path)
- req_path = urlparse.urlunparse(("", "", path, "", query, frag))
- if not req_path.startswith("/"):
+ parts = urlparse.urlsplit(url)
+ path = escape_path(parts.path)
+ if not path.startswith("/"):
# fix bad RFC 2396 absoluteURI
- req_path = "/"+req_path
- return req_path
+ path = "/" + path
+ return path
def request_port(request):
host = request.get_host()