diff options
| author | Xavier Ordoquy | 2013-01-07 23:26:14 +0100 |
|---|---|---|
| committer | Xavier Ordoquy | 2013-01-07 23:26:14 +0100 |
| commit | 510d6a3c5540bbc20406ff79ce5f95d97b2a63f3 (patch) | |
| tree | 2a19077854f71266793c59222cc987e4d0848ef0 /rest_framework/authentication.py | |
| parent | 22a7dc27d8638b001d513598e5f0ba13698a1186 (diff) | |
| download | django-rest-framework-510d6a3c5540bbc20406ff79ce5f95d97b2a63f3.tar.bz2 | |
Introduced HTTP_HEADER_ENCODING.
Diffstat (limited to 'rest_framework/authentication.py')
| -rw-r--r-- | rest_framework/authentication.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/rest_framework/authentication.py b/rest_framework/authentication.py index 42f6f02b..c50bf944 100644 --- a/rest_framework/authentication.py +++ b/rest_framework/authentication.py @@ -8,6 +8,7 @@ from rest_framework import exceptions from rest_framework.compat import CsrfViewMiddleware from rest_framework.compat import smart_text from rest_framework.authtoken.models import Token +from rest_framework.settings import api_settings import base64 @@ -37,7 +38,9 @@ class BasicAuthentication(BaseAuthentication): auth = request.META['HTTP_AUTHORIZATION'].split() if len(auth) == 2 and auth[0].lower() == "basic": try: - auth_parts = base64.b64decode(auth[1].encode('iso-8859-1')).decode('iso-8859-1').partition(':') + encoding = api_settings.HTTP_HEADER_ENCODING + b = base64.b64decode(auth[1].encode(encoding)) + auth_parts = b.decode(encoding).partition(':') except TypeError: return None |
