
    ]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y)    )	AwaitableCallable
CollectionIterable)web)
Middleware)
middleware)Request)StreamResponseallow_headersallow_originsexpose_headersreturnc                 R     t         dt        dt        dt        f fd       }|S )Nrequesthandlerr   c                   K   | j                   j                  d      }|s ||        d {   S |vrt        j                  dd      S | j                  dk(  }|xr d| j                   v }|rt               }n ||        d {   }||j                   d<   rdj                        |j                   d	<   |r<dj                        |j                   d
<   dj                  d      |j                   d<   |S 7 7 uw)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	         </root/env/lib/python3.12/site-packages/blackd/middlewares.pyimplzcors.<locals>.impl   s     $$X. )))&<<s1MNN^^y0
!X&E&X!#D ))D6<23<@IIn<UDLL89;?99];SDLL78;?99#<DLL78 + * *s#   )C=C9AC=C;A4C=;C=)r	   r
   Handlerr   )r   r   r   r#   s   ``` r"   corsr%      s3     G g .  4 K    N)collections.abcr   r   r   r   aiohttpr   aiohttp.typedefsr   aiohttp.web_middlewaresr	   aiohttp.web_requestr
   aiohttp.web_responser   r$   strr%    r&   r"   <module>r/      sg    E E  ' . ' /
G9i77
8!C=! c?! SM	!
 !r&   