
    ^j                         d dl mZ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 d dlmZ eegee         f         Zdee         dee         d	ee         d
efdZdS )    )	AwaitableCallable
CollectionIterable)web)
Middleware)
middleware)Request)StreamResponseallow_headersallow_originsexpose_headersreturnc                 `     t           dt          dt          dt          f fd            }|S )Nrequesthandlerr   c                   K   | j                             d          }|s ||            d {V S |vrt          j        dd          S | j        dk    }|od| j         v }|rt                      }n ||            d {V }||j         d<   rd                              |j         d	<   |r:d                              |j         d
<   d                    d          |j         d<   |S )NOrigini  zCORS origin is not allowed)statustextOPTIONSzAccess-Control-Request-MethodzAccess-Control-Allow-Originz, zAccess-Control-Expose-HeaderszAccess-Control-Allow-Headers)r   POSTzAccess-Control-Allow-Methods)headersgetr   Responsemethodr   join)	r   r   origin
is_optionsis_preflightrespr   r   r   s	         V/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/blackd/middlewares.pyimplzcors.<locals>.impl   s0     $$X.. 	* )))))))))&&<s1MNNNN^y0
!X&E&X 	*!##DD ))))))))D6<23 	V<@IIn<U<UDL89 	;?99];S;SDL78;?99#< <DL78     )r	   r
   Handlerr   )r   r   r   r#   s   ``` r"   corsr&      sU     G g .        Z4 Kr$   N)collections.abcr   r   r   r   aiohttpr   aiohttp.typedefsr   aiohttp.web_middlewaresr	   aiohttp.web_requestr
   aiohttp.web_responser   r%   strr&    r$   r"   <module>r/      s    E E E E E E E E E E E E       ' ' ' ' ' ' . . . . . . ' ' ' ' ' ' / / / / / /
G9i77
8!C=! c?! SM	!
 ! ! ! ! ! !r$   