mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 17:12:13 -06:00
handle invalid headers better
This commit is contained in:
parent
73fa70b41f
commit
f5d6ba27b2
|
@ -121,6 +121,12 @@ class HttpCli(object):
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.mode, self.req, self.http_ver = headerlines[0].split(" ")
|
self.mode, self.req, self.http_ver = headerlines[0].split(" ")
|
||||||
|
|
||||||
|
# normalize incoming headers to lowercase;
|
||||||
|
# outgoing headers however are Correct-Case
|
||||||
|
for header_line in headerlines[1:]:
|
||||||
|
k, v = header_line.split(":", 1)
|
||||||
|
self.headers[k.lower()] = v.strip()
|
||||||
except:
|
except:
|
||||||
msg = " ]\n#[ ".join(headerlines)
|
msg = " ]\n#[ ".join(headerlines)
|
||||||
raise Pebkac(400, "bad headers:\n#[ " + msg + " ]")
|
raise Pebkac(400, "bad headers:\n#[ " + msg + " ]")
|
||||||
|
@ -137,12 +143,6 @@ class HttpCli(object):
|
||||||
if self.args.rsp_slp:
|
if self.args.rsp_slp:
|
||||||
time.sleep(self.args.rsp_slp)
|
time.sleep(self.args.rsp_slp)
|
||||||
|
|
||||||
# normalize incoming headers to lowercase;
|
|
||||||
# outgoing headers however are Correct-Case
|
|
||||||
for header_line in headerlines[1:]:
|
|
||||||
k, v = header_line.split(":", 1)
|
|
||||||
self.headers[k.lower()] = v.strip()
|
|
||||||
|
|
||||||
v = self.headers.get("connection", "").lower()
|
v = self.headers.get("connection", "").lower()
|
||||||
self.keepalive = not v.startswith("close") and self.http_ver != "HTTP/1.0"
|
self.keepalive = not v.startswith("close") and self.http_ver != "HTTP/1.0"
|
||||||
self.is_https = (self.headers.get("x-forwarded-proto", "").lower() == "https" or self.tls)
|
self.is_https = (self.headers.get("x-forwarded-proto", "").lower() == "https" or self.tls)
|
||||||
|
|
Loading…
Reference in a new issue