diff options
author | David Cramer <dcramer@gmail.com> | 2012-05-22 17:04:12 -0700 |
---|---|---|
committer | David Cramer <dcramer@gmail.com> | 2012-05-22 17:04:12 -0700 |
commit | fb0c81f231940ed0a38542c786575c2cf6f0053b (patch) | |
tree | 6c8d35a28d7ef9fc5c4b3809eed87446da56d94f | |
parent | 86f09a5534581a843c8e628f3b4ff9722f9c9083 (diff) | |
download | raven-fb0c81f231940ed0a38542c786575c2cf6f0053b.tar.gz |
SENTRY_ALLOW_ORIGIN must now either be * or a list of strings or regular expressions1.8.4
-rw-r--r-- | raven/contrib/django/views.py | 10 | ||||
-rwxr-xr-x | setup.py | 2 | ||||
-rw-r--r-- | tests/contrib/django/tests.py | 11 |
3 files changed, 16 insertions, 7 deletions
diff --git a/raven/contrib/django/views.py b/raven/contrib/django/views.py index c6628ac..4e34c63 100644 --- a/raven/contrib/django/views.py +++ b/raven/contrib/django/views.py @@ -25,9 +25,13 @@ def is_valid_origin(origin): return True origin = origin.lower() - for value in settings.SENTRY_ALLOW_ORIGIN.split(' '): - if value.lower() == origin: - return True + for value in settings.SENTRY_ALLOW_ORIGIN: + if isinstance(value, basestring): + if value.lower() == origin: + return True + else: + if value.match(origin): + return True return False @@ -46,7 +46,7 @@ install_requires = [ setup( name='raven', - version='1.8.3', + version='1.8.4', author='David Cramer', author_email='dcramer@gmail.com', url='http://github.com/dcramer/raven', diff --git a/tests/contrib/django/tests.py b/tests/contrib/django/tests.py index 04ce1ab..44714a1 100644 --- a/tests/contrib/django/tests.py +++ b/tests/contrib/django/tests.py @@ -2,10 +2,11 @@ from __future__ import absolute_import -import django -import mock import datetime +import django import logging +import mock +import re from celery.tests.utils import with_eager_tasks from StringIO import StringIO @@ -518,7 +519,11 @@ class IsValidOriginTestCase(TestCase): self.assertTrue(is_valid_origin('http://example.com')) def test_setting_uri(self): - with Settings(SENTRY_ALLOW_ORIGIN='http://example.com'): + with Settings(SENTRY_ALLOW_ORIGIN=['http://example.com']): + self.assertTrue(is_valid_origin('http://example.com')) + + def test_setting_regexp(self): + with Settings(SENTRY_ALLOW_ORIGIN=[re.compile('https?\://(.*\.)?example\.com')]): self.assertTrue(is_valid_origin('http://example.com')) |