PageRenderTime 82ms CodeModel.GetById 40ms app.highlight 2ms RepoModel.GetById 39ms app.codeStats 0ms

/django/middleware/doc.py

https://code.google.com/p/mango-py/
Python | 19 lines | 9 code | 1 blank | 9 comment | 4 complexity | 5d8b24b1fcf68cb5471f4d06da12eb90 MD5 | raw file
 1from django.conf import settings
 2from django import http
 3
 4class XViewMiddleware(object):
 5    """
 6    Adds an X-View header to internal HEAD requests -- used by the documentation system.
 7    """
 8    def process_view(self, request, view_func, view_args, view_kwargs):
 9        """
10        If the request method is HEAD and either the IP is internal or the
11        user is a logged-in staff member, quickly return with an x-header
12        indicating the view function.  This is used by the documentation module
13        to lookup the view function for an arbitrary page.
14        """
15        if request.method == 'HEAD' and (request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS or
16                                         (request.user.is_active and request.user.is_staff)):
17            response = http.HttpResponse()
18            response['X-View'] = "%s.%s" % (view_func.__module__, view_func.__name__)
19            return response