o
    Lf                     @   sh   d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 edd Zdd	 Zd
d Zdd ZdS )    )settings)sync_and_async_middleware)iscoroutinefunctionsync_to_async)context)ImmediateHttpResponsec                    s(   t  r fdd}|S  fdd}|S )Nc                    s   t | ; z | I d H }t| |rt| I d H  |W W  d    S  ty@ } z|jW  Y d }~W  d    S d }~ww 1 sDw   Y  d S N)r   request_context_should_check_dangling_login_acheck_dangling_loginr   responserequestr   eget_response [/var/www/html/humari/django-venv/lib/python3.10/site-packages/allauth/account/middleware.py
middleware   s   
z%AccountMiddleware.<locals>.middlewarec                    s   t | 5 z | }t| |rt|  |W W  d    S  ty9 } z|jW  Y d }~W  d    S d }~ww 1 s=w   Y  d S r   )r   r	   r
   _check_dangling_loginr   r   r   r   r   r   r      s   
)r   )r   r   r   r   r   AccountMiddleware
   s
   
r   c                 C   s`   |j d}|r|dd }|r|dkrdS | jtjs#| jdv r%dS |jd dkr.dS d	S )
Nzcontent-type;r   z	text/htmlF)z/favicon.icoz/robots.txtz/humans.txtd      T)headersget	partitionpath
startswithr   
STATIC_URLstatus_code)r   r   content_typer   r   r   r
   '   s   r
   c                 C   s.   t | ddsd| jv r| jd d S d S d S )N_account_login_accessedFaccount_login)getattrsessionpopr   r   r   r   r   8   s
   
r   c                    s   t t| I d H  d S r   )r   r   r'   r   r   r   r   >   s   r   N)django.confr   django.utils.decoratorsr   asgiref.syncr   r   allauth.corer   allauth.core.exceptionsr   r   r
   r   r   r   r   r   r   <module>   s    
