X-Git-Url: http://dolda2000.com/gitweb/?p=wrw.git;a=blobdiff_plain;f=wrw%2Freq.py;h=010e907a5d203c86281f0a61e298498a8504518b;hp=11f856c710d1522cc850da4a7488c20eb56ca9d5;hb=d30502c8fe37bedb30ad9f3ddecd5191c5b077fb;hpb=cc1126892c7148faadc7b6781acce6a4a99ede5c diff --git a/wrw/req.py b/wrw/req.py index 11f856c..010e907 100644 --- a/wrw/req.py +++ b/wrw/req.py @@ -21,7 +21,7 @@ class headdict(object): def __iter__(self): return iter((list[0] for list in self.dict.values())) - def get(self, key, default = ""): + def get(self, key, default=""): if key.lower() in self.dict: return self.dict[key.lower()][1] return default @@ -51,6 +51,10 @@ def fixcase(str): i += 1 return str +class shortinput(IOError, EOFError): + def __init__(self): + super().__init__("Unexpected EOF") + class limitreader(object): def __init__(self, back, limit): self.bk = back @@ -68,7 +72,7 @@ class limitreader(object): while len(self.buf) < ra: ret = self.bk.read(ra - len(self.buf)) if ret == b"": - raise IOError("Unexpected EOF") + raise shortinput() self.buf.extend(ret) self.rb += len(ret) ret = bytes(self.buf[:ra]) @@ -98,7 +102,7 @@ class limitreader(object): ra = min(ra, 1024) ret = self.bk.read(ra) if ret == b"": - raise IOError("Unpexpected EOF") + raise shortinput() self.buf.extend(ret) self.rb += len(ret) @@ -230,6 +234,7 @@ class copyrequest(request): self.https = p.https self.ihead = p.ihead self.ohead = p.ohead + self.input = p.input def status(self, code, msg): return self.parent.status(code, msg)