mirror of
				https://github.com/encode/django-rest-framework.git
				synced 2025-11-04 09:57:55 +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