๎
ชอ Xะ  ใ               @   sH   d  d l  m Z d  d l m Z d d   Z d d   Z d d   Z d	 S)
้    )ฺwraps)ฺavailable_attrsc                s.     f d d   } t    d t    |  S)z๖
    Modifies a view function so its response has the X-Frame-Options HTTP
    header set to 'DENY' as long as the response doesn't already have that
    header set.

    e.g.

    @xframe_options_deny
    def some_view(request):
        ...
    c                 s5     |  |   } | j  d  d  k r1 d | d <n  | S)NzX-Frame-OptionsZDENY)ฺget)ฺargsฺkwargsฺresp)ฺ	view_funcฉ ๚R/home/ubuntu/projects/ifolica/build/django/django/views/decorators/clickjacking.pyฺwrapped_view   s    z)xframe_options_deny.<locals>.wrapped_viewฺassigned)r   r   )r   r   r	   )r   r
   ฺxframe_options_deny   s    r   c                s.     f d d   } t    d t    |  S)a  
    Modifies a view function so its response has the X-Frame-Options HTTP
    header set to 'SAMEORIGIN' as long as the response doesn't already have
    that header set.

    e.g.

    @xframe_options_sameorigin
    def some_view(request):
        ...
    c                 s5     |  |   } | j  d  d  k r1 d | d <n  | S)NzX-Frame-OptionsZ
SAMEORIGIN)r   )r   r   r   )r   r	   r
   r   &   s    z/xframe_options_sameorigin.<locals>.wrapped_viewr   )r   r   )r   r   r	   )r   r
   ฺxframe_options_sameorigin   s    r   c                s.     f d d   } t    d t    |  S)zๆ
    Modifies a view function by setting a response variable that instructs
    XFrameOptionsMiddleware to NOT set the X-Frame-Options HTTP header.

    e.g.

    @xframe_options_exempt
    def some_view(request):
        ...
    c                 s     |  |   } d | _  | S)NT)ฺxframe_options_exempt)r   r   r   )r   r	   r
   r   9   s    	z+xframe_options_exempt.<locals>.wrapped_viewr   )r   r   )r   r   r	   )r   r
   r   .   s    r   N)ฺ	functoolsr   Zdjango.utils.decoratorsr   r   r   r   r	   r	   r	   r
   ฺ<module>   s   