PageRenderTime 18ms CodeModel.GetById 11ms RepoModel.GetById 0ms app.codeStats 0ms

/django/middleware/doc.py

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