diff options
author | Helmut Grohne <helmut@subdivi.de> | 2018-12-27 17:58:29 +0100 |
---|---|---|
committer | Helmut Grohne <helmut@subdivi.de> | 2018-12-27 17:58:29 +0100 |
commit | bbdc0eb818eb26d5da0ec2ae6cf724332550e9a9 (patch) | |
tree | 2f93bc5faf8bea3a0f540d256941a5071950c7d6 /test.py | |
parent | 7f1c15ee300a1212a27616c194fe0f293d2b7598 (diff) | |
download | wsgitools-bbdc0eb818eb26d5da0ec2ae6cf724332550e9a9.tar.gz |
fix ContentLengthMiddleware(..., maxstore=()) on Py3k
On Python 2.x, any integer sorts below the empty tuple. That was
exploited in the maxstore parameter, but fails on Python 3 with a
TypeError.
Also add a regression test.
Reported-by: Dominik Brodowski <mail@dominikbrodowski.net>
Diffstat (limited to 'test.py')
-rwxr-xr-x | test.py | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -276,14 +276,15 @@ class StupidIO(object): return self.content[oldpos:self.position] class ContentLengthMiddlewareTest(unittest.TestCase): - def setUp(self): + def customSetUp(self, maxstore=10): self.staticapp = applications.StaticFile(StupidIO(b"success"), "200 Found", [("Content-Type", "text/plain")]) self.app = middlewares.ContentLengthMiddleware(self.staticapp, - maxstore=10) + maxstore=maxstore) self.req = Request(self) def testWithout(self): + self.customSetUp() res = self.req(self.staticapp) res.status("200 Found") try: @@ -293,6 +294,13 @@ class ContentLengthMiddlewareTest(unittest.TestCase): pass def testGet(self): + self.customSetUp() + res = self.req(self.app) + res.status("200 Found") + res.header("Content-length", "7") + + def testInfiniteMaxstore(self): + self.customSetUp(maxstore=()) res = self.req(self.app) res.status("200 Found") res.header("Content-length", "7") |