
    h                     J    d dl mZ d dlmZ d dlmZ ddlmZ  G d de      Zy)	    )settings)HttpResponse)MiddlewareMixin   )get_view_namec                       e Zd ZdZd Zy)XViewMiddlewarez9
    Add an X-View header to internal HEAD requests.
    c                 .   t        |d      sJ d       |j                  dk(  rs|j                  j                  d      t        j
                  v s,|j                  j                  r1|j                  j                  rt               }t        |      |d<   |S yyy)a  
        If the request method is HEAD and either the IP is internal or the
        user is a logged-in staff member, return a response with an x-view
        header indicating the view function. This is used to lookup the view
        function for an arbitrary page.
        userzThe XView middleware requires authentication middleware to be installed. Edit your MIDDLEWARE setting to insert 'django.contrib.auth.middleware.AuthenticationMiddleware'.HEADREMOTE_ADDRzX-ViewN)hasattrmethodMETAgetr   INTERNAL_IPSr   	is_activeis_staffr   r   )selfrequest	view_func	view_argsview_kwargsresponses         f/var/www/html/ranktracker/api/venv/lib/python3.12/site-packages/django/contrib/admindocs/middleware.pyprocess_viewzXViewMiddleware.process_view   s     w' 	
I	
'
 >>V#)9)9-)HHLaLa)a*1,,*@*@W\\EZEZ#~H!.y!9HXO F[*@ $    N)__name__
__module____qualname____doc__r    r   r   r	   r	      s    r   r	   N)	django.confr   django.httpr   django.utils.deprecationr   utilsr   r	   r"   r   r   <module>r'      s      $ 4  o r   