mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
close #297 .
When the path starts with //, urlsplit considers it as a relative uri while the RDF says it shouldnt ( http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2). While I'm remove unncessary tests on netloc. The path never contains a netloc or port.
This commit is contained in:
parent
8e185d38d0
commit
613378529b
@ -102,9 +102,6 @@ class Request(Message):
|
|||||||
|
|
||||||
self.method = None
|
self.method = None
|
||||||
self.uri = None
|
self.uri = None
|
||||||
self.scheme = None
|
|
||||||
self.host = None
|
|
||||||
self.port = 80
|
|
||||||
self.path = None
|
self.path = None
|
||||||
self.query = None
|
self.query = None
|
||||||
self.fragment = None
|
self.fragment = None
|
||||||
@ -166,15 +163,17 @@ class Request(Message):
|
|||||||
self.method = bits[0].upper()
|
self.method = bits[0].upper()
|
||||||
|
|
||||||
# URI
|
# URI
|
||||||
self.uri = bits[1]
|
# When the path starts with //, urlsplit considers it as a
|
||||||
parts = urlparse.urlsplit(bits[1])
|
# relative uri while the RDF says it shouldnt
|
||||||
self.scheme = parts.scheme or ''
|
# http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2
|
||||||
self.host = parts.netloc or None
|
# considers it as an absolute url.
|
||||||
if parts.port is None:
|
# fix issue #297
|
||||||
self.port = 80
|
if bits[1].startswith("//"):
|
||||||
|
self.uri = bits[1][1:]
|
||||||
else:
|
else:
|
||||||
self.host = self.host.rsplit(":", 1)[0]
|
self.uri = bits[1]
|
||||||
self.port = parts.port
|
|
||||||
|
parts = urlparse.urlsplit(self.uri)
|
||||||
self.path = parts.path or ""
|
self.path = parts.path or ""
|
||||||
self.query = parts.query or ""
|
self.query = parts.query or ""
|
||||||
self.fragment = parts.fragment or ""
|
self.fragment = parts.fragment or ""
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user