app/django/middleware/doc.py
author Lennard de Rijk <ljvderijk@gmail.com>
Mon, 10 Aug 2009 18:49:34 -0700
changeset 2751 e8a98669ec8c
parent 54 03e267d67478
permissions -rw-r--r--
_getResultsViewRecordFields does not need fields argument anymore. It now returns its own filter dictionary when called. Should be overwritten by subclasses who wish to use other filters.

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