o
    ^i                     @   sp   d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ ee	gee f Zdee defdd	Zd
S )    )	AwaitableCallableIterable)
Middleware)
middleware)Request)StreamResponse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	    W/var/www/html/stock_analysis/be/venv/lib/python3.10/site-packages/blackd/middlewares.pyimpl   s"   



zcors.<locals>.impl)r   r   Handlerr   )r	   r   r   r   r   cors   s   r   N)collections.abcr   r   r   aiohttp.typedefsr   aiohttp.web_middlewaresr   aiohttp.web_requestr   aiohttp.web_responser   r   strr   r   r   r   r   <module>   s    