o
    h1                     @   s   U d dl mZmZmZmZmZmZ d dlmZ d dl	m
Z
 er3ededef dZeegef ed< nzd dlmZ W n eyH   d	d
 ZY nw eegee
 f Zeeegee
 f Zdee defddZdS )    )TYPE_CHECKINGAny	AwaitableCallableIterableTypeVar)Request)StreamResponseF.)bound
middleware)r   c                 C   s   | S )N )xr   r   H/var/www/html/ai/venv/lib/python3.10/site-packages/blackd/middlewares.py<lambda>   s    r   allow_headersreturnc                    s"   t dtdtdtf fdd}|S )Nrequesthandlerr   c                    s   | j dk}|od| jv }|rt }n|| I d H }| jd}|s$|S d|jd< d|jd< |r@d |jd< dd	|jd
< |S )NOPTIONSzAccess-Control-Request-MethodOrigin*zAccess-Control-Allow-OriginzAccess-Control-Expose-Headersz, zAccess-Control-Allow-Headers)r   POSTzAccess-Control-Allow-Methods)methodheadersr	   getjoin)r   r   
is_optionsis_preflightresporiginr   r   r   impl   s"   



zcors.<locals>.impl)r   r   Handlerr	   )r   r"   r   r!   r   cors   s   r$   N)typingr   r   r   r   r   r   aiohttp.web_requestr   aiohttp.web_responser	   r
   __annotations__aiohttp.web_middlewaresr   ImportErrorr#   
Middlewarestrr$   r   r   r   r   <module>   s   " 