|
Revision 4265, 0.9 kB
(checked in by adrian, 2 years ago)
|
Fixed #3191 -- Set 'svn:eol-style native' on the files that didn't have it. Thanks, jjl@pobox.com
|
- Property svn:eol-style set to
native
- Property svn:keywords set to
LastChangedRevision
|
| Line | |
|---|
| 1 |
from django.conf import settings |
|---|
| 2 |
from django import http |
|---|
| 3 |
|
|---|
| 4 |
class 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 (request.user.is_authenticated() and request.user.is_staff)): |
|---|
| 16 |
response = http.HttpResponse() |
|---|
| 17 |
response['X-View'] = "%s.%s" % (view_func.__module__, view_func.__name__) |
|---|
| 18 |
return response |
|---|