
    df	                     0    d dl mZ d dlmZ d Zd Zd ZdS )    )wraps)iscoroutinefunctionc                 h     t                     r fd}n fd} t                     |          S )z
    Modify 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. Usage:

    @xframe_options_deny
    def some_view(request):
        ...
    c                  \   K    | i | d {V }|                     d          d|d<   |S NX-Frame-OptionsDENYgetargskwargsresponse	view_funcs      `D:\Python Project\djangoTemplates\venv\Lib\site-packages\django/views/decorators/clickjacking.py_view_wrapperz*xframe_options_deny.<locals>._view_wrapper   sP      &Y777777777H||-..6.4*+O    c                  L     | i |}|                     d          d|d<   |S r   r
   r   s      r   r   z*xframe_options_deny.<locals>._view_wrapper   s:     y$1&11H||-..6.4*+Or   r   r   r   r   s   ` r   xframe_options_denyr      f     9%% 	 	 	 	 	 		 	 	 	 	 5M***r   c                 h     t                     r fd}n fd} t                     |          S )z
    Modify 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. Usage:

    @xframe_options_sameorigin
    def some_view(request):
        ...
    c                  \   K    | i | d {V }|                     d          d|d<   |S Nr   
SAMEORIGINr
   r   s      r   r   z0xframe_options_sameorigin.<locals>._view_wrapper1   sP      &Y777777777H||-..6.:*+Or   c                  L     | i |}|                     d          d|d<   |S r   r
   r   s      r   r   z0xframe_options_sameorigin.<locals>._view_wrapper9   s:     y$1&11H||-..6.:*+Or   r   r   s   ` r   xframe_options_sameoriginr   $   r   r   c                 h     t                     r fd}n fd} t                     |          S )z
    Modify a view function by setting a response variable that instructs
    XFrameOptionsMiddleware to NOT set the X-Frame-Options HTTP header. Usage:

    @xframe_options_exempt
    def some_view(request):
        ...
    c                  6   K    | i | d {V }d|_         |S NTxframe_options_exemptr   s      r   r   z,xframe_options_exempt.<locals>._view_wrapperN   s:      &Y777777777H-1H*Or   c                  &     | i |}d|_         |S r!   r"   r   s      r   r   z,xframe_options_exempt.<locals>._view_wrapperU   s$     y$1&11H-1H*Or   r   r   s   ` r   r#   r#   B   sf     9%% 	 	 	 	 	 		 	 	 	 	
 5M***r   N)	functoolsr   asgiref.syncr   r   r   r#    r   r   <module>r(      s`          , , , , , ,+ + +<+ + +<+ + + + +r   