diff --git a/pecan/jsonify.py b/pecan/jsonify.py index b4f1227..c0ce2c8 100644 --- a/pecan/jsonify.py +++ b/pecan/jsonify.py @@ -29,14 +29,6 @@ except ImportError: # pragma no cover class RowProxy: pass -# -# exceptions -# - - -class JsonEncodeError(Exception): - pass - # # encoders diff --git a/pecan/middleware/logger.py b/pecan/middleware/logger.py index 01c53ed..946ec17 100644 --- a/pecan/middleware/logger.py +++ b/pecan/middleware/logger.py @@ -10,19 +10,6 @@ import time import urllib -def asbool(obj): - if isinstance(obj, (str, unicode)): - obj = obj.strip().lower() - if obj in ['true', 'yes', 'on', 'y', 't', '1']: - return True - elif obj in ['false', 'no', 'off', 'n', 'f', '0']: - return False - else: - raise ValueError( - "String is not true/false: %r" % obj) - return bool(obj) - - class TransLogger(object): """ This logging middleware will log all requests as they go through. @@ -96,9 +83,9 @@ class TransLogger(object): offset = "%0.4d" % (offset) # pragma: nocover remote_addr = '-' if environ.get('HTTP_X_FORWARDED_FOR'): - remote_addr = environ['HTTP_X_FORWARDED_FOR'] + remote_addr = environ['HTTP_X_FORWARDED_FOR'] # pragma: nocover elif environ.get('REMOTE_ADDR'): - remote_addr = environ['REMOTE_ADDR'] + remote_addr = environ['REMOTE_ADDR'] # pragma: nocover d = { 'REMOTE_ADDR': remote_addr, 'REMOTE_USER': environ.get('REMOTE_USER') or '-', @@ -113,25 +100,3 @@ class TransLogger(object): } message = self.format % d self.logger.log(self.logging_level, message) - - -def make_filter( - app, global_conf, - logger_name='wsgi', - format=None, - logging_level=logging.INFO, - setup_console_handler=True, - set_logger_level=logging.DEBUG): - if isinstance(logging_level, basestring): - logging_level = logging._levelNames[logging_level] - if isinstance(set_logger_level, basestring): - set_logger_level = logging._levelNames[set_logger_level] - return TransLogger( - app, - format=format or None, - logging_level=logging_level, - logger_name=logger_name, - setup_console_handler=asbool(setup_console_handler), - set_logger_level=set_logger_level) - -make_filter.__doc__ = TransLogger.__doc__ diff --git a/pecan/tests/middleware/test_logger.py b/pecan/tests/middleware/test_logger.py index e69de29..530440e 100644 --- a/pecan/tests/middleware/test_logger.py +++ b/pecan/tests/middleware/test_logger.py @@ -0,0 +1,49 @@ +from cStringIO import StringIO +from unittest import TestCase +from webtest import TestApp + +from pecan.middleware.logger import TransLogger + + +def simple_app(environ, start_response): + start_response("200 OK", [('Content-type', 'text/plain')]) + return ['Hello, World'] + + +class FakeLogger(object): + + def __init__(self): + self.b = StringIO() + + def log(self, level, msg): + self.b.write(msg) + + def getvalue(self): + return self.b.getvalue() + + +class TestDebugMiddleware(TestCase): + + def setUp(self): + self.logger = FakeLogger() + + def test_simple_log(self): + app = TestApp(TransLogger(simple_app, logger=self.logger)) + r = app.get('/') + assert r.status_int == 200 + assert r.body == 'Hello, World' + assert '"GET / HTTP/1.0" 200 - "-" "-"' in self.logger.getvalue() + + def test_log_format(self): + app = TestApp(TransLogger(simple_app, logger=self.logger, format='X')) + r = app.get('/') + assert r.status_int == 200 + assert r.body == 'Hello, World' + assert self.logger.getvalue() == 'X' + + def test_log_query_string(self): + app = TestApp(TransLogger(simple_app, logger=self.logger)) + r = app.get('/?foo=1') + assert r.status_int == 200 + assert r.body == 'Hello, World' + assert '"GET /?foo=1 HTTP/1.0" 200 - "-" "-"' in self.logger.getvalue() diff --git a/pecan/tests/middleware/test_recursive.py b/pecan/tests/middleware/test_recursive.py index e34733b..8c7888a 100644 --- a/pecan/tests/middleware/test_recursive.py +++ b/pecan/tests/middleware/test_recursive.py @@ -103,7 +103,7 @@ class TestRecursiveMiddleware(TestCase): status, headers, exc_info=None ): return start_response( - '404', headers, exc_info + '404 Not Found', headers, exc_info ) return self.app(e, keep_status_start_response)