mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-23 10:03:57 +03:00
Introduced HTTP_HEADER_ENCODING.
This commit is contained in:
parent
22a7dc27d8
commit
510d6a3c55
|
@ -8,6 +8,7 @@ from rest_framework import exceptions
|
||||||
from rest_framework.compat import CsrfViewMiddleware
|
from rest_framework.compat import CsrfViewMiddleware
|
||||||
from rest_framework.compat import smart_text
|
from rest_framework.compat import smart_text
|
||||||
from rest_framework.authtoken.models import Token
|
from rest_framework.authtoken.models import Token
|
||||||
|
from rest_framework.settings import api_settings
|
||||||
import base64
|
import base64
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,7 +38,9 @@ class BasicAuthentication(BaseAuthentication):
|
||||||
auth = request.META['HTTP_AUTHORIZATION'].split()
|
auth = request.META['HTTP_AUTHORIZATION'].split()
|
||||||
if len(auth) == 2 and auth[0].lower() == "basic":
|
if len(auth) == 2 and auth[0].lower() == "basic":
|
||||||
try:
|
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:
|
except TypeError:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
|
@ -75,6 +75,9 @@ DEFAULTS = {
|
||||||
'URL_FORMAT_OVERRIDE': 'format',
|
'URL_FORMAT_OVERRIDE': 'format',
|
||||||
|
|
||||||
'FORMAT_SUFFIX_KWARG': 'format',
|
'FORMAT_SUFFIX_KWARG': 'format',
|
||||||
|
|
||||||
|
# Header encoding (see RFC5987)
|
||||||
|
'HTTP_HEADER_ENCODING': 'iso-8859-1',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user