[Repoze-checkins] r1090 - in repoze.debug/trunk: . repoze/debug
Chris McDonough
chrism at agendaless.com
Fri Jun 13 21:34:22 EDT 2008
Author: Chris McDonough <chrism at agendaless.com>
Date: Fri Jun 13 21:34:22 2008
New Revision: 1090
Log:
- Add warning if content-length != body length.
Modified:
repoze.debug/trunk/CHANGES.txt
repoze.debug/trunk/repoze/debug/responselogger.py
repoze.debug/trunk/repoze/debug/tests.py
Modified: repoze.debug/trunk/CHANGES.txt
==============================================================================
--- repoze.debug/trunk/CHANGES.txt (original)
+++ repoze.debug/trunk/CHANGES.txt Fri Jun 13 21:34:22 2008
@@ -1,4 +1,8 @@
-0.1
+Next release
- Initial release.
+ - Add warning if content-length != body length.
+
+0.1 (2008/06/13)
+
+ - Initial release.
Modified: repoze.debug/trunk/repoze/debug/responselogger.py
==============================================================================
--- repoze.debug/trunk/repoze/debug/responselogger.py (original)
+++ repoze.debug/trunk/repoze/debug/responselogger.py Fri Jun 13 21:34:22 2008
@@ -79,9 +79,22 @@
request_id, t, duration))
out.append('Status: %s' % status)
out.append('Response Headers')
+ cl = None
for header in headers:
- out.append(' %s: %s' % (header[0], header[1]))
- out.append('Bodylen: %s' % len(body))
+ k, v = header
+ if k.lower() == 'content-length':
+ try:
+ cl = int(v)
+ except (TypeError, ValueError):
+ cl = None
+ out.append(' %s: %s' % (k, v))
+ bodylen = len(body)
+ out.append('Bodylen: %s' % bodylen)
+ if cl is not None:
+ if bodylen != cl:
+ out.append(
+ 'WARNING-1: bodylen (%s) != Content-Length '
+ 'header value (%s)' % (bodylen, cl))
out.append('Body:')
out.append('')
bodyout = body
Modified: repoze.debug/trunk/repoze/debug/tests.py
==============================================================================
--- repoze.debug/trunk/repoze/debug/tests.py (original)
+++ repoze.debug/trunk/repoze/debug/tests.py Fri Jun 13 21:34:22 2008
@@ -49,6 +49,18 @@
self.assertEqual(len(logger.logged), 2)
self.failUnless('(truncated)' in logger.logged[1])
+ def test_call_contentlengthwrong(self):
+ body = ['thebody']
+ app = DummyApp(body, '200 OK', [('Content-Length', '1')])
+ logger = FakeLogger()
+ mw = self._makeOne(app, 1, logger)
+ environ = self._makeEnviron()
+ start_response = FakeStartResponse()
+ app_iter = mw(environ, start_response)
+ self.assertEqual(''.join(app_iter), 'thebody')
+ self.assertEqual(len(logger.logged), 2)
+ self.failUnless('WARNING-1' in logger.logged[1])
+
class TestMakeMiddleware(unittest.TestCase):
def _getFUT(self):
from repoze.debug.responselogger import make_middleware
More information about the Repoze-checkins
mailing list