mirror of
https://github.com/9001/copyparty.git
synced 2025-08-18 01:22:13 -06:00
avoid crashing ie
This commit is contained in:
parent
5283837e6d
commit
c2016ba037
|
@ -144,7 +144,7 @@ class HttpCli(object):
|
||||||
try:
|
try:
|
||||||
self.s.sendall(response_str + b"\r\n\r\n" + body)
|
self.s.sendall(response_str + b"\r\n\r\n" + body)
|
||||||
except:
|
except:
|
||||||
raise Pebkac(400, "client disconnected before http response")
|
raise Pebkac(400, "client d/c before http response")
|
||||||
|
|
||||||
return body
|
return body
|
||||||
|
|
||||||
|
@ -200,7 +200,10 @@ class HttpCli(object):
|
||||||
self.log("POST " + self.req)
|
self.log("POST " + self.req)
|
||||||
|
|
||||||
if self.headers.get("expect", "").lower() == "100-continue":
|
if self.headers.get("expect", "").lower() == "100-continue":
|
||||||
|
try:
|
||||||
self.s.sendall(b"HTTP/1.1 100 Continue\r\n\r\n")
|
self.s.sendall(b"HTTP/1.1 100 Continue\r\n\r\n")
|
||||||
|
except:
|
||||||
|
raise Pebkac(400, "client d/c before 100 continue")
|
||||||
|
|
||||||
ctype = self.headers.get("content-type", "").lower()
|
ctype = self.headers.get("content-type", "").lower()
|
||||||
if not ctype:
|
if not ctype:
|
||||||
|
@ -621,7 +624,10 @@ class HttpCli(object):
|
||||||
|
|
||||||
headers.extend(extra_headers)
|
headers.extend(extra_headers)
|
||||||
headers = "\r\n".join(headers).encode("utf-8") + b"\r\n\r\n"
|
headers = "\r\n".join(headers).encode("utf-8") + b"\r\n\r\n"
|
||||||
|
try:
|
||||||
self.s.sendall(headers)
|
self.s.sendall(headers)
|
||||||
|
except:
|
||||||
|
raise Pebkac(400, "client d/c before http response")
|
||||||
|
|
||||||
if self.mode == "HEAD" or not do_send:
|
if self.mode == "HEAD" or not do_send:
|
||||||
self.log(logmsg)
|
self.log(logmsg)
|
||||||
|
|
|
@ -190,7 +190,7 @@ class MultipartParser(object):
|
||||||
buf = self.sr.recv(bufsz)
|
buf = self.sr.recv(bufsz)
|
||||||
if not buf:
|
if not buf:
|
||||||
# abort: client disconnected
|
# abort: client disconnected
|
||||||
raise Pebkac(400, "client disconnected during multipart post")
|
raise Pebkac(400, "client d/c during multipart post")
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
ofs = buf.find(self.boundary)
|
ofs = buf.find(self.boundary)
|
||||||
|
@ -224,7 +224,7 @@ class MultipartParser(object):
|
||||||
buf2 = self.sr.recv(bufsz)
|
buf2 = self.sr.recv(bufsz)
|
||||||
if not buf2:
|
if not buf2:
|
||||||
# abort: client disconnected
|
# abort: client disconnected
|
||||||
raise Pebkac(400, "client disconnected during multipart post")
|
raise Pebkac(400, "client d/c during multipart post")
|
||||||
|
|
||||||
buf += buf2
|
buf += buf2
|
||||||
|
|
||||||
|
@ -421,7 +421,7 @@ def read_socket(sr, total_size):
|
||||||
|
|
||||||
buf = sr.recv(bufsz)
|
buf = sr.recv(bufsz)
|
||||||
if not buf:
|
if not buf:
|
||||||
raise Pebkac(400, "client disconnected during binary post")
|
raise Pebkac(400, "client d/c during binary post")
|
||||||
|
|
||||||
remains -= len(buf)
|
remains -= len(buf)
|
||||||
yield buf
|
yield buf
|
||||||
|
|
|
@ -72,10 +72,9 @@ function opclick(ev) {
|
||||||
var dest = this.getAttribute('data-dest');
|
var dest = this.getAttribute('data-dest');
|
||||||
goto(dest);
|
goto(dest);
|
||||||
|
|
||||||
try {
|
// writing a blank value makes ie8 segfault w
|
||||||
localStorage.opmode = dest;
|
if (window['localStorage'])
|
||||||
}
|
localStorage.setItem('opmode', dest || '.');
|
||||||
catch { }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -108,11 +107,11 @@ function goto_up2k() {
|
||||||
|
|
||||||
|
|
||||||
goto();
|
goto();
|
||||||
try {
|
if (window['localStorage']) {
|
||||||
var op = localStorage.opmode;
|
var op = localStorage.getItem('opmode');
|
||||||
|
if (op !== null && op !== '.')
|
||||||
goto(op);
|
goto(op);
|
||||||
}
|
}
|
||||||
catch { }
|
|
||||||
|
|
||||||
|
|
||||||
// chrome requires https to use crypto.subtle,
|
// chrome requires https to use crypto.subtle,
|
||||||
|
@ -217,7 +216,7 @@ function up2k_init(have_crypto) {
|
||||||
if (val === null)
|
if (val === null)
|
||||||
return parseInt(o(name).value);
|
return parseInt(o(name).value);
|
||||||
|
|
||||||
o(name).value = val
|
o(name).value = val;
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue