diff options
author | Lars Wirzenius <liw@liw.fi> | 2018-11-16 21:36:04 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2018-11-16 21:36:04 +0200 |
commit | 6d621d3a51ba68f0a436d5c5b27ace6cb2825f50 (patch) | |
tree | 6817d537d5475ccd3b8d888e20cdc51bd357f33e /muck | |
parent | d30c7d5dac5891ad86a3491e198cb384e466932e (diff) | |
download | muck-poc-6d621d3a51ba68f0a436d5c5b27ace6cb2825f50.tar.gz |
Change: allow super users to impersonate other users
Diffstat (limited to 'muck')
-rw-r--r-- | muck/request.py | 6 | ||||
-rw-r--r-- | muck/request_tests.py | 11 |
2 files changed, 17 insertions, 0 deletions
diff --git a/muck/request.py b/muck/request.py index f6e406e..66795ff 100644 --- a/muck/request.py +++ b/muck/request.py @@ -28,3 +28,9 @@ class Request: def get_authorization(self): return self._headers.get('Authorization') + + def get_user(self): + user = self._headers.get('Muck-User') + if user: + user = user.strip() + return user diff --git a/muck/request_tests.py b/muck/request_tests.py index 7de2393..eb6d0c4 100644 --- a/muck/request_tests.py +++ b/muck/request_tests.py @@ -34,3 +34,14 @@ class RequestTests(unittest.TestCase): 'Authorization': 'Bearer XXX', }) self.assertEqual(r.get_authorization(), 'Bearer XXX') + + def test_does_not_specify_user_by_default(self): + r = muck.Request(method='GET') + self.assertEqual(r.get_user(), None) + + def test_specifies_user_in_header(self): + r = muck.Request(method='GET') + r.add_headers({ + 'Muck-User': 'tomjon', + }) + self.assertEqual(r.get_user(), 'tomjon') |