diff options
author | Ashley Camba Garrido <ashwoods@gmail.com> | 2017-09-26 15:18:33 +0200 |
---|---|---|
committer | Ashley Camba <ashwoods@gmail.com> | 2017-09-26 21:16:59 +0200 |
commit | 4b0e6f7aa0b28034ea45322ed6d6bab3771011cf (patch) | |
tree | 69a655e7e076548d8bcdc0e13a93a1eb54c889b2 | |
parent | bdaf68c2849d273ef5b60da7e1af33d91ada70ec (diff) | |
download | raven-4b0e6f7aa0b28034ea45322ed6d6bab3771011cf.tar.gz |
fix(flask): Use request.remote_addr as fallback for flask too, fix tests
-rw-r--r-- | raven/contrib/flask.py | 11 | ||||
-rw-r--r-- | tests/contrib/django/tests.py | 5 | ||||
-rw-r--r-- | tests/contrib/flask/tests.py | 2 |
3 files changed, 10 insertions, 8 deletions
diff --git a/raven/contrib/flask.py b/raven/contrib/flask.py index 4853ffa..40c7fb3 100644 --- a/raven/contrib/flask.py +++ b/raven/contrib/flask.py @@ -143,12 +143,15 @@ class Sentry(object): Requires Flask-Login (https://pypi.python.org/pypi/Flask-Login/) to be installed and setup. """ + user_info = {} + try: - user_info = { - 'ip_address': request.access_route[0], - } + ip_address = request.access_route[0] except IndexError: - user_info = {} + ip_address = request.remote_addr + + if ip_address: + user_info['ip_address'] = ip_address if not has_flask_login: return user_info diff --git a/tests/contrib/django/tests.py b/tests/contrib/django/tests.py index 22a25c6..fbb7e96 100644 --- a/tests/contrib/django/tests.py +++ b/tests/contrib/django/tests.py @@ -234,9 +234,7 @@ class DjangoClientTest(TestCase): assert 'user' in event user_info = event['user'] - assert user_info == { - {'ip_address': '127.0.0.1'} - } + assert user_info == {'ip_address': '127.0.0.1'} assert self.client.login(username='admin', password='password') @@ -247,6 +245,7 @@ class DjangoClientTest(TestCase): assert 'user' in event user_info = event['user'] assert user_info == { + 'ip_address': '127.0.0.1', 'username': self.user.username, 'id': self.user.id, 'email': self.user.email, diff --git a/tests/contrib/flask/tests.py b/tests/contrib/flask/tests.py index e90a70d..593876c 100644 --- a/tests/contrib/flask/tests.py +++ b/tests/contrib/flask/tests.py @@ -313,7 +313,7 @@ class FlaskLoginTest(BaseTest): def test_user(self): self.client.get('/login/') - self.client.get('/an-error/') + self.client.get('/an-error/', environ_overrides={'REMOTE_ADDR': '127.0.0.1'}) event = self.raven.events.pop(0) assert event['message'] == 'ValueError: hello world' assert 'request' in event |