
    g                        d dl Z d dlZd dlmZmZmZmZmZmZm	Z	m
Z
mZmZmZ d dlZddlmZ ddl mZ ddlmZmZ erddlmZ ddlmZ dd	lmZmZ ndxZxZxZZd
Z G d de j:                        Zeee   ef   Z ej@                  dddd       G d de             Z! ej@                  dddd       G d de             Z"de#de#dedede!f
dZ$de#dedede!fdZ%de#dedede!fdZ&dddde#dede	e#   de'dede!fdZ(de#dedede!fd Z)de#dedede!fd!Z*de#dedede!fd"Z+de#dedede!fd#Z,de#dee   dede!fd$Z-d%e#dedede"fd&Z.eegef   Z/ G d' d(e
e         Z0y))    N)TYPE_CHECKINGAnyCallableDictIteratorListOptionalSequenceTypeUnionoverload   )hdrs)AbstractView)HandlerPathLike)Request)StreamResponse)AbstractRouteUrlDispatcher)AbstractRouteDefRouteDef	StaticDefRouteTableDefheadoptionsgetpostpatchputdeleterouteviewstaticc                   @    e Zd Zej                  dedee   fd       Zy)r   routerreturnc                      y N )selfr&   s     I/var/www/openai/venv/lib/python3.12/site-packages/aiohttp/web_routedef.pyregisterzAbstractRouteDef.register2   s        N)	__name__
__module____qualname__abcabstractmethodr   r   r   r-   r*   r.   r,   r   r   1   s-    } m1D  r.   r   TF)auto_attribsfrozenreprslotsc                   b    e Zd ZU eed<   eed<   eed<   eeef   ed<   defdZde	de
e   fdZy	)
r   methodpathhandlerkwargsr'   c                    g }t        | j                  j                               D ]  \  }}|j                  d| d|        dj	                  | j
                  | j                  | j                  dj                  |            S )N, =z8<RouteDef {method} {path} -> {handler.__name__!r}{info}> )r9   r:   r;   info)	sortedr<   itemsappendformatr9   r:   r;   joinr+   rA   namevalues       r,   __repr__zRouteDef.__repr__A   sw    !$++"3"3"56KD%KK"TF!E9-. 7IPP;;TYY277SW= Q 
 	
r.   r&   c                 V   | j                   t        j                  v rPt        |d| j                   j	                         z         } || j
                  | j                  fi | j                  gS  |j                  | j                   | j
                  | j                  fi | j                  gS )Nadd_)	r9   r   METH_ALLgetattrlowerr:   r;   r<   	add_route)r+   r&   regs      r,   r-   zRouteDef.registerI   s    ;;$--'&&4;;+<+<+>">?C		4<<?4;;?@@ !  diiUU r.   N)r/   r0   r1   str__annotations___HandlerTyper   r   rJ   r   r   r   r-   r*   r.   r,   r   r   :   sD    K
IcN
# 
} m1D r.   r   c                   X    e Zd ZU eed<   eed<   eeef   ed<   defdZde	de
e   fdZy)	r   prefixr:   r<   r'   c                     g }t        | j                  j                               D ]  \  }}|j                  d| d|        dj	                  | j
                  | j                  dj                  |            S )Nr>   r?   z$<StaticDef {prefix} -> {path}{info}>r@   )rV   r:   rA   )rB   r<   rC   rD   rE   rV   r:   rF   rG   s       r,   rJ   zStaticDef.__repr__Y   so    !$++"3"3"56KD%KK"TF!E9-. 75<<;;TYYRWWT] = 
 	
r.   r&   c                      |j                   | j                  | j                  fi | j                  }|j	                         j                  di       }t        |j                               S )Nroutes)
add_staticrV   r:   r<   get_infor   listvalues)r+   r&   resourcerY   s       r,   r-   zStaticDef.registera   sS    $6$$T[[$))Kt{{K""$((26FMMO$$r.   N)r/   r0   r1   rR   rS   r   r   r   rJ   r   r   r   r-   r*   r.   r,   r   r   S   s>    K
NcN
# 
%} %m1D %r.   r   r9   r:   r;   r<   r'   c                     t        | |||      S r)   )r   )r9   r:   r;   r<   s       r,   r"   r"   g   s    FD'622r.   c                 :    t        t        j                  | |fi |S r)   r"   r   	METH_HEADr:   r;   r<   s      r,   r   r   k       w9&99r.   c                 :    t        t        j                  | |fi |S r)   r"   r   METH_OPTIONSrc   s      r,   r   r   o   s    ""D'<V<<r.   rH   
allow_headrH   ri   c                @    t        t        j                  | |f||d|S )Nrh   r"   r   METH_GET)r:   r;   rH   ri   r<   s        r,   r   r   s   s.     tW+/JJP r.   c                 :    t        t        j                  | |fi |S r)   r"   r   	METH_POSTrc   s      r,   r   r      rd   r.   c                 :    t        t        j                  | |fi |S r)   r"   r   METH_PUTrc   s      r,   r    r           g888r.   c                 :    t        t        j                  | |fi |S r)   r"   r   
METH_PATCHrc   s      r,   r   r      s    $:6::r.   c                 :    t        t        j                  | |fi |S r)   r"   r   METH_DELETErc   s      r,   r!   r!      s    !!4;F;;r.   c                 :    t        t        j                  | |fi |S r)   r"   r   METH_ANYrc   s      r,   r#   r#      rs   r.   rV   c                     t        | ||      S r)   )r   )rV   r:   r<   s      r,   r$   r$      s    VT6**r.   c                   b   e Zd ZdZddZdefdZedede	fd       Z
ededee	   fd       Z
d	 Z
dee	   fd
ZdefdZdedefdZdedededefdZdededefdZdededefdZdededefdZdededefdZdededefdZdededefdZdededefdZdededefdZdedededdfdZy)r   zRoute definition tabler'   Nc                     g | _         y r)   _itemsr+   s    r,   __init__zRouteTableDef.__init__   s	    .0r.   c                 4    dt        | j                         dS )Nz<RouteTableDef count=>lenr   r   s    r,   rJ   zRouteTableDef.__repr__   s    &s4;;'7&8::r.   indexc                      y r)   r*   r+   r   s     r,   __getitem__zRouteTableDef.__getitem__   s    ;>r.   c                      y r)   r*   r   s     r,   r   zRouteTableDef.__getitem__   s    CFr.   c                      | j                   |   S r)   r   r   s     r,   r   zRouteTableDef.__getitem__   s    {{5!!r.   c                 ,    t        | j                        S r)   )iterr   r   s    r,   __iter__zRouteTableDef.__iter__   s    DKK  r.   c                 ,    t        | j                        S r)   r   r   s    r,   __len__zRouteTableDef.__len__   s    4;;r.   itemc                     || j                   v S r)   r   )r+   r   s     r,   __contains__zRouteTableDef.__contains__   s    t{{""r.   r9   r:   r<   c                 8     dt         dt         f fd}|S )Nr;   r'   c                 V    j                   j                  t        |              | S r)   )r   rD   r   )r;   r<   r9   r:   r+   s    r,   innerz"RouteTableDef.route.<locals>.inner   s%    KKxgvFGNr.   )rT   )r+   r9   r:   r<   r   s   ```` r,   r"   zRouteTableDef.route   s"    	< 	L 	 	 r.   c                 F     | j                   t        j                  |fi |S r)   ra   r+   r:   r<   s      r,   r   zRouteTableDef.head       tzz$..$9&99r.   c                 F     | j                   t        j                  |fi |S r)   rk   r   s      r,   r   zRouteTableDef.get       tzz$--888r.   c                 F     | j                   t        j                  |fi |S r)   rn   r   s      r,   r   zRouteTableDef.post   r   r.   c                 F     | j                   t        j                  |fi |S r)   rq   r   s      r,   r    zRouteTableDef.put   r   r.   c                 F     | j                   t        j                  |fi |S r)   ru   r   s      r,   r   zRouteTableDef.patch   s    tzz$//4:6::r.   c                 F     | j                   t        j                  |fi |S r)   rx   r   s      r,   r!   zRouteTableDef.delete   s     tzz$**D;F;;r.   c                 F     | j                   t        j                  |fi |S r)   rf   r   s      r,   r   zRouteTableDef.options   s     tzz$++T<V<<r.   c                 F     | j                   t        j                  |fi |S r)   r{   r   s      r,   r#   zRouteTableDef.view   r   r.   rV   c                 P    | j                   j                  t        |||             y r)   )r   rD   r   )r+   rV   r:   r<   s       r,   r$   zRouteTableDef.static   s    9VT6:;r.   )r'   N) r/   r0   r1   __doc__r   rR   rJ   r   intr   r   slicer   r   r   r   objectboolr   r   _Decor"   r   r   r   r    r   r!   r   r#   r   r$   r*   r.   r,   r   r      s    1;# ; >>)9> >FF40@+AF F"!(#34 !   # #D #C s c e : : : :9 9s 9u 9: : : :9 9s 9u 9;# ; ; ;<3 <# <% <=C =3 =5 =9 9 9 9<S < <C <D <r.   r   )1r2   ostypingr   r   r   r   r   r   r	   r
   r   r   r   attrr@   r   r   typedefsr   r   web_requestr   web_responser   web_urldispatcherr   r   __all__ABCr   rT   sr   r   rR   r"   r   r   r   r   r   r    r   r!   r#   r$   r   r   r*   r.   r,   <module>r      s|   
 	       '$,???CCGCnC}}$sww  T,'01 T$U$?  @0 T$U$?%  % @%&3# 3S 3< 33 38 3:s :\ :S :X :=# = = = = 



 3-	

 
 
 
:s :\ :S :X :9c 9L 9C 9H 9; ;l ;c ;h ;< <| <s <x <9s 9T,/ 93 98 9+3 +h +# +) + 	,-.;<H-. ;<r.   