diff options
author | Chris McDonough <chrism@plope.com> | 2014-05-15 00:32:19 -0400 |
---|---|---|
committer | Chris McDonough <chrism@plope.com> | 2014-05-15 00:32:19 -0400 |
commit | 2269e13ff71a66de1f1b69ce096b65a055654487 (patch) | |
tree | ab01e5bbf04e072893b8ae594d4fbaa4dd198cb3 | |
parent | ffce665ede764b828ba4814c1c83ffffb063ee34 (diff) | |
download | waitress-2269e13ff71a66de1f1b69ce096b65a055654487.tar.gz |
no need to alias close to _close now that ReadOnlyFileBasedBuffer actually has a close method that works both when called from inside waitress and from within wsgi code
-rw-r--r-- | waitress/buffers.py | 8 | ||||
-rw-r--r-- | waitress/channel.py | 8 | ||||
-rw-r--r-- | waitress/parser.py | 4 | ||||
-rw-r--r-- | waitress/tests/test_buffers.py | 12 | ||||
-rw-r--r-- | waitress/tests/test_channel.py | 8 | ||||
-rw-r--r-- | waitress/tests/test_parser.py | 10 |
6 files changed, 23 insertions, 27 deletions
diff --git a/waitress/buffers.py b/waitress/buffers.py index 0ac51aa..f174a79 100644 --- a/waitress/buffers.py +++ b/waitress/buffers.py @@ -104,14 +104,10 @@ class FileBasedBuffer(object): return self.file def close(self): - # named _close because ReadOnlyFileBasedBuffer is used as - # wsgi file.wrapper, and its protocol reserves "close" if hasattr(self.file, 'close'): self.file.close() self.remain = 0 - _close = close - class TempfileBasedBuffer(FileBasedBuffer): def __init__(self, from_buffer=None): @@ -296,7 +292,7 @@ class OverflowableBuffer(object): buf = self._create_buffer() return buf.getfile() - def _close(self): + def close(self): buf = self.buf if buf is not None: - buf._close() + buf.close() diff --git a/waitress/channel.py b/waitress/channel.py index 11ac140..0233185 100644 --- a/waitress/channel.py +++ b/waitress/channel.py @@ -244,7 +244,7 @@ class HTTPChannel(logging_dispatcher, object): if len(self.outbufs) > 1: toclose = self.outbufs.pop(0) try: - toclose._close() + toclose.close() except: self.logger.exception( 'Unexpected error when closing an outbuf') @@ -275,7 +275,7 @@ class HTTPChannel(logging_dispatcher, object): def handle_close(self): for outbuf in self.outbufs: try: - outbuf._close() + outbuf.close() except: self.logger.exception( 'Unknown exception while trying to close outbuf') @@ -365,11 +365,11 @@ class HTTPChannel(logging_dispatcher, object): if task.close_on_finish: self.close_when_flushed = True for request in self.requests: - request._close() + request.close() self.requests = [] else: request = self.requests.pop(0) - request._close() + request.close() self.force_flush = True self.server.pull_trigger() diff --git a/waitress/parser.py b/waitress/parser.py index dc3ec47..dec96f6 100644 --- a/waitress/parser.py +++ b/waitress/parser.py @@ -243,10 +243,10 @@ class HTTPRequestParser(object): else: return BytesIO() - def _close(self): + def close(self): body_rcv = self.body_rcv if body_rcv is not None: - body_rcv.getbuf()._close() + body_rcv.getbuf().close() def split_uri(uri): # urlsplit handles byte input by returning bytes on py3, so diff --git a/waitress/tests/test_buffers.py b/waitress/tests/test_buffers.py index 4a6bf5b..8a4ce6e 100644 --- a/waitress/tests/test_buffers.py +++ b/waitress/tests/test_buffers.py @@ -105,7 +105,7 @@ class TestFileBasedBuffer(unittest.TestCase): inst.prune() self.assertTrue(inst.file is f) - def test__close(self): + def test_close(self): f = io.BytesIO() inst = self._makeOne(f) inst.close() @@ -407,19 +407,19 @@ class TestOverflowableBuffer(unittest.TestCase): f = inst.getfile() self.assertEqual(f, buf) - def test__close_nobuf(self): + def test_close_nobuf(self): inst = self._makeOne() inst.buf = None - self.assertEqual(inst._close(), None) # doesnt raise + self.assertEqual(inst.close(), None) # doesnt raise - def test__close_withbuf(self): + def test_close_withbuf(self): class Buffer(object): - def _close(self): + def close(self): self.closed = True buf = Buffer() inst = self._makeOne() inst.buf = buf - inst._close() + inst.close() self.assertTrue(buf.closed) class KindaFilelike(object): diff --git a/waitress/tests/test_channel.py b/waitress/tests/test_channel.py index 3ca97f0..afe6e51 100644 --- a/waitress/tests/test_channel.py +++ b/waitress/tests/test_channel.py @@ -261,7 +261,7 @@ class TestHTTPChannel(unittest.TestCase): inst.logger = DummyLogger() def doraise(): raise NotImplementedError - inst.outbufs[0]._close = doraise + inst.outbufs[0].close = doraise result = inst._flush_some() self.assertEqual(result, True) self.assertEqual(buffer.skipped, 3) @@ -298,7 +298,7 @@ class TestHTTPChannel(unittest.TestCase): inst, sock, map = self._makeOneWithMap() def doraise(): raise NotImplementedError - inst.outbufs[0]._close = doraise + inst.outbufs[0].close = doraise inst.logger = DummyLogger() inst.handle_close() self.assertEqual(inst.connected, False) @@ -636,7 +636,7 @@ class DummyBuffer(object): def __len__(self): return len(self.data) - def _close(self): + def close(self): self.closed = True class DummyAdjustments(object): @@ -692,7 +692,7 @@ class DummyRequest(object): def __init__(self): self.headers = {} - def _close(self): + def close(self): self.closed = True class DummyLogger(object): diff --git a/waitress/tests/test_parser.py b/waitress/tests/test_parser.py index 72e3a01..ed3a66c 100644 --- a/waitress/tests/test_parser.py +++ b/waitress/tests/test_parser.py @@ -201,15 +201,15 @@ foo: bar""" self.parser.parse_header(data) self.assertEqual(self.parser.connection_close, True) - def test__close_with_body_rcv(self): + def test_close_with_body_rcv(self): body_rcv = DummyBodyStream() self.parser.body_rcv = body_rcv - self.parser._close() + self.parser.close() self.assertTrue(body_rcv.closed) - def test__close_with_no_body_rcv(self): + def test_close_with_no_body_rcv(self): self.parser.body_rcv = None - self.parser._close() # doesn't raise + self.parser.close() # doesn't raise class Test_split_uri(unittest.TestCase): @@ -407,5 +407,5 @@ class DummyBodyStream(object): def getbuf(self): return self - def _close(self): + def close(self): self.closed = True |