fix django 1.9 compatibility
[fnpdjango.git] / fnpdjango / middleware.py
index 21de872..adf0dc8 100644 (file)
@@ -1,15 +1,18 @@
 from django.utils import translation
 from django.conf import settings
 from django.http import Http404
 from django.utils import translation
 from django.conf import settings
 from django.http import Http404
+from . import app_settings
 
 
 class SetRemoteAddrFromXRealIP(object):
     """Sets REMOTE_ADDR from the X-Real-IP header, as set by Nginx."""
     def process_request(self, request):
 
 
 class SetRemoteAddrFromXRealIP(object):
     """Sets REMOTE_ADDR from the X-Real-IP header, as set by Nginx."""
     def process_request(self, request):
-        try:
-            request.META['REMOTE_ADDR'] = request.META['HTTP_X_REAL_IP']
-        except KeyError:
-            return None
+        if app_settings.REALIP:
+            try:
+                request.META['REMOTE_ADDR'] = request.META['HTTP_X_REAL_IP']
+            except KeyError:
+                pass
+        return None
 
 
 class URLLocaleMiddleware(object):
 
 
 class URLLocaleMiddleware(object):
@@ -17,11 +20,11 @@ class URLLocaleMiddleware(object):
 
     def process_request(self, request):
         language = translation.get_language_from_path(request.path_info)
 
     def process_request(self, request):
         language = translation.get_language_from_path(request.path_info)
-        if language == settings.LANGUAGE_CODE:
-            raise Http404
         if language:
             translation.activate(language)
         request.LANGUAGE_CODE = translation.get_language()
         if language:
             translation.activate(language)
         request.LANGUAGE_CODE = translation.get_language()
+        if language == settings.LANGUAGE_CODE:
+            raise Http404
 
     def process_response(self, request, response):
         language = translation.get_language()
 
     def process_response(self, request, response):
         language = translation.get_language()