mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #20126 -- XViewMiddleware moved to django.contrib.admindocs.middleware
This commit is contained in:
		
							
								
								
									
										23
									
								
								django/contrib/admindocs/middleware.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								django/contrib/admindocs/middleware.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| 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. | ||||
|         """ | ||||
|         assert hasattr(request, 'user'), ( | ||||
|             "The XView middleware requires authentication middleware to be " | ||||
|             "installed. Edit your MIDDLEWARE_CLASSES setting to insert " | ||||
|             "'django.contrib.auth.middleware.AuthenticationMiddleware'.") | ||||
|         if request.method == 'HEAD' and (request.META.get('REMOTE_ADDR') in settings.INTERNAL_IPS or | ||||
|                                          (request.user.is_active and request.user.is_staff)): | ||||
|             response = http.HttpResponse() | ||||
|             response['X-View'] = "%s.%s" % (view_func.__module__, view_func.__name__) | ||||
|             return response | ||||
		Reference in New Issue
	
	Block a user