Skip to content

Commit

Permalink
if request.remote_addr is None, disable the toolbar.. closes #53
Browse files Browse the repository at this point in the history
  • Loading branch information
mcdonc committed Mar 25, 2012
1 parent ec1e289 commit 1bd969a
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 3 deletions.
5 changes: 5 additions & 0 deletions CHANGES.txt
@@ -1,3 +1,8 @@
Next release
------------

- If ``request.remote_addr`` is ``None``, disable the toolbar.

1.0 (2012-03-17)
----------------

Expand Down
15 changes: 13 additions & 2 deletions pyramid_debugtoolbar/tests/test_toolbar.py
Expand Up @@ -151,8 +151,6 @@ def handler(request):

def _callFUT(self, request, handler=None):
registry = self.config.registry
if request.remote_addr is None:
request.remote_addr = '127.0.0.1'
from pyramid_debugtoolbar.toolbar import toolbar_tween_factory
if handler is None:
handler = self._makeHandler()
Expand All @@ -161,6 +159,7 @@ def _callFUT(self, request, handler=None):

def test_it_startswith_root_path(self):
request = Request.blank('/_debug_toolbar')
request.remote_addr = '127.0.0.1'
result = self._callFUT(request)
self.assertFalse(hasattr(request, 'debug_toolbar'))
self.assertTrue(result is self.response)
Expand All @@ -172,6 +171,13 @@ def test_it_bad_remote_addr(self):
self.assertFalse(hasattr(request, 'debug_toolbar'))
self.assertTrue(result is self.response)

def test_it_remote_addr_is_None(self):
request = Request.blank('/')
request.remote_addr = None
result = self._callFUT(request)
self.assertFalse(hasattr(request, 'debug_toolbar'))
self.assertTrue(result is self.response)

def test_it_remote_addr_mask(self):
self.config.registry.settings['debugtoolbar.hosts'] = ['127.0.0.0/24']
request = Request.blank('/')
Expand All @@ -192,6 +198,7 @@ def test_it_calls_wrap_handler(self):
request = Request.blank('/')
self.config.registry.settings['debugtoolbar.panels'] = [ DummyPanel ]
request.registry = self.config.registry
request.remote_addr = '127.0.0.1'
result = self._callFUT(request, handler)
self.assertFalse(hasattr(request, 'debug_toolbar'))
self.assertTrue(result is self.response)
Expand All @@ -200,6 +207,7 @@ def test_it_calls_wrap_handler(self):

def test_it_raises_exception_no_intercept_exc(self):
request = Request.blank('/')
request.remote_addr = '127.0.0.1'
def handler(request):
raise NotImplementedError
request.registry = self.config.registry
Expand All @@ -213,13 +221,15 @@ def handler(request):
self.config.registry.settings['debugtoolbar.secret'] = 'abc'
self.config.add_route('debugtoolbar.exception', '/exception')
request.registry = self.config.registry
request.remote_addr = '127.0.0.1'
response = self._callFUT(request, handler)
self.assertEqual(len(request.exc_history.tracebacks), 1)
self.assertFalse(hasattr(request, 'debug_toolbar'))
self.assertTrue(response.status_int, 500)

def test_it_intercept_redirect_nonredirect_code(self):
request = Request.blank('/')
request.remote_addr = '127.0.0.1'
self.config.registry.settings['debugtoolbar.intercept_redirects'] = True
request.registry = self.config.registry
result = self._callFUT(request)
Expand All @@ -231,6 +241,7 @@ def test_it_intercept_redirect(self):
def handler(request):
return response
request = Request.blank('/')
request.remote_addr = '127.0.0.1'
request.registry = self.config.registry
self.config.registry.settings['debugtoolbar.intercept_redirects'] = True
result = self._callFUT(request, handler)
Expand Down
2 changes: 1 addition & 1 deletion pyramid_debugtoolbar/toolbar.py
Expand Up @@ -101,7 +101,7 @@ def toolbar_tween(request):
request.exc_history = exc_history
remote_addr = request.remote_addr

if request.path.startswith(root_path):
if remote_addr is None or request.path.startswith(root_path):
return handler(request)
else:
for host in hosts:
Expand Down

0 comments on commit 1bd969a

Please sign in to comment.