summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorŁukasz Langa <lukasz@langa.pl>2013-05-18 17:43:21 +0200
committerŁukasz Langa <lukasz@langa.pl>2013-05-19 13:18:35 +0200
commit660762681cfbd8cabce0b6c83fae5b3b60c0d60c (patch)
tree4c4a6a1c0dda165cd69ee12bdb37da3bd73b286a /django
parenta7e2835276b212425dc07251c833b406304ab1a4 (diff)
Fixed #20126 -- XViewMiddleware moved to django.contrib.admindocs.middleware
Diffstat (limited to 'django')
-rw-r--r--django/contrib/admindocs/middleware.py23
-rw-r--r--django/middleware/doc.py27
2 files changed, 28 insertions, 22 deletions
diff --git a/django/contrib/admindocs/middleware.py b/django/contrib/admindocs/middleware.py
new file mode 100644
index 0000000000..ee3fe2cb2f
--- /dev/null
+++ b/django/contrib/admindocs/middleware.py
@@ -0,0 +1,23 @@
+from django.conf import settings
+from django import http
+
+class XViewMiddleware(object):
+ """
+ Adds an X-View header to internal HEAD requests -- used by the documentation system.
+ """
+ def process_view(self, request, view_func, view_args, view_kwargs):
+ """
+ If the request method is HEAD and either the IP is internal or the
+ user is a logged-in staff member, quickly return with an x-header
+ indicating the view function. This is used by the documentation module
+ to lookup the view function for an arbitrary page.
+ """
+ assert hasattr(request, 'user'), (
+ "The XView middleware requires authentication middleware to be "
+ "installed. Edit your MIDDLEWARE_CLASSES setting to insert "
+ "'django.contrib.auth.middleware.AuthenticationMiddleware'.")
+ if request.method == 'HEAD' and (request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS or
+ (request.user.is_active and request.user.is_staff)):
+ response = http.HttpResponse()
+ response['X-View'] = "%s.%s" % (view_func.__module__, view_func.__name__)
+ return response
diff --git a/django/middleware/doc.py b/django/middleware/doc.py
index ee3fe2cb2f..1af7b6150a 100644
--- a/django/middleware/doc.py
+++ b/django/middleware/doc.py
@@ -1,23 +1,6 @@
-from django.conf import settings
-from django import http
+"""XViewMiddleware has been moved to django.contrib.admindocs.middleware."""
-class XViewMiddleware(object):
- """
- Adds an X-View header to internal HEAD requests -- used by the documentation system.
- """
- def process_view(self, request, view_func, view_args, view_kwargs):
- """
- If the request method is HEAD and either the IP is internal or the
- user is a logged-in staff member, quickly return with an x-header
- indicating the view function. This is used by the documentation module
- to lookup the view function for an arbitrary page.
- """
- assert hasattr(request, 'user'), (
- "The XView middleware requires authentication middleware to be "
- "installed. Edit your MIDDLEWARE_CLASSES setting to insert "
- "'django.contrib.auth.middleware.AuthenticationMiddleware'.")
- if request.method == 'HEAD' and (request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS or
- (request.user.is_active and request.user.is_staff)):
- response = http.HttpResponse()
- response['X-View'] = "%s.%s" % (view_func.__module__, view_func.__name__)
- return response
+import warnings
+warnings.warn(__doc__, PendingDeprecationWarning, stacklevel=2)
+
+from django.contrib.admindocs.middleware import XViewMiddleware