diff options
Diffstat (limited to 'google_appengine/lib/django/django/middleware/doc.py')
-rwxr-xr-x | google_appengine/lib/django/django/middleware/doc.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/google_appengine/lib/django/django/middleware/doc.py b/google_appengine/lib/django/django/middleware/doc.py new file mode 100755 index 0000000..48c155c --- /dev/null +++ b/google_appengine/lib/django/django/middleware/doc.py @@ -0,0 +1,18 @@ +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. + """ + if request.method == 'HEAD' and (request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS or (request.user.is_authenticated() and request.user.is_staff)): + response = http.HttpResponse() + response['X-View'] = "%s.%s" % (view_func.__module__, view_func.__name__) + return response |