
    hp                        d dl Z d dlZd dlZd dlZd dlmZmZ d dlmZ d dl	m
Z
m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mZ d dlmZ d dlmZ dd	lmZ erdd
lm Z  ddl!m"Z" ddl#m$Z$m%Z% ddl&m'Z' n
dxZ$xZ%xZ Z'dZ" G d de          Z( G d de          Z) G d de          Z* G d de          Z+ G d de          Z,ereee-                  Z.neZ.edge/f         Z0 G d dee.          Z1 G d de          Z2 G d de          Z3dS )    N)ABCabstractmethod)Sized)
BaseCookieMorsel)TYPE_CHECKINGAny	AwaitableCallableDict	GeneratorIterableListOptionalTuple	TypedDictUnion)CIMultiDict)URL   )LooseCookies)Application)HTTPException)BaseRequestRequest)StreamResponsec                   j    e Zd ZddZdeddfdZedefd            ZddZ	e
dedd	fd
            ZdS )AbstractRouterreturnNc                     d| _         d S )NF_frozenselfs    M/var/www/html/prod/cognitive/venv/lib/python3.11/site-packages/aiohttp/abc.py__init__zAbstractRouter.__init__'   s        appc                     dS )zPost init stage.

        Not an abstract method for sake of backward compatibility,
        but if the router wants to be aware of the application
        it can override this.
        N r$   r(   s     r%   	post_initzAbstractRouter.post_init*         r'   c                     | j         S Nr!   r#   s    r%   frozenzAbstractRouter.frozen2   s
    |r'   c                     d| _         dS )zFreeze router.TNr!   r#   s    r%   freezezAbstractRouter.freeze6   s    r'   requestAbstractMatchInfoc                 
   K   dS )z#Return MATCH_INFO for given requestNr*   r$   r3   s     r%   resolvezAbstractRouter.resolve:   
        r'   r   N)__name__
__module____qualname__r&   r   r,   propertyboolr0   r2   r   r   r7   r*   r'   r%   r   r   &   s           [ T         X    2W 21D 2 2 2 ^2 2 2r'   r   c                      e Zd ZdZeedeegee	         f         fd                        Z
eedeegeee	                  f         fd                        Zeedee         fd                        Zedeeef         fd            Zeedeedf         fd                        Zed	edd
fd            Zedd            Zd
S )r4   r*   r   c                     dS )zExecute matched request handlerNr*   r#   s    r%   handlerzAbstractMatchInfo.handlerC   r-   r'   c                     dS )z*Expect handler for 100-continue processingNr*   r#   s    r%   expect_handlerz AbstractMatchInfo.expect_handlerH   r-   r'   c                     dS )z<HTTPException instance raised on router's resolving, or NoneNr*   r#   s    r%   http_exceptionz AbstractMatchInfo.http_exceptionO   r-   r'   c                     dS )z;Return a dict with additional info useful for introspectionNr*   r#   s    r%   get_infozAbstractMatchInfo.get_infoT   r-   r'   .c                     dS )z\Stack of nested applications.

        Top level application is left-most element.

        Nr*   r#   s    r%   appszAbstractMatchInfo.appsX   r-   r'   r(   Nc                     dS )z)Add application to the nested apps stack.Nr*   r+   s     r%   add_appzAbstractMatchInfo.add_appa   r-   r'   c                     dS )zFreeze the match info.

        The method is called after route resolution.

        After the call .add_app() is forbidden.

        Nr*   r#   s    r%   r2   zAbstractMatchInfo.freezee   r-   r'   r9   )r:   r;   r<   	__slots__r=   r   r   r   r
   r   rA   r   rC   r   rE   r   strr	   rG   r   r   rI   rK   r2   r*   r'   r%   r4   r4   ?   s       I.7)Y~-F"FG . . . ^ X. 9	7)Yx'?@@	A9 9 9 ^ X9
 K 7 K K K ^ XK J$sCx. J J J ^J eK,-    ^ X 8; 84 8 8 8 ^8    ^  r'   r4   c                   l    e Zd ZdZdeddfdZedefd            Zede	e
def         fd            ZdS )AbstractViewzAbstract class based view.r3   r   Nc                     || _         d S r/   _requestr6   s     r%   r&   zAbstractView.__init__s   s    r'   c                     | j         S )zRequest instance.rR   r#   s    r%   r3   zAbstractView.requestv   s     }r'   c                     dS )zExecute the view handler.Nr*   r#   s    r%   	__await__zAbstractView.__await__{   r-   r'   )r:   r;   r<   __doc__r   r&   r=   r3   r   r   r	   r   rV   r*   r'   r%   rP   rP   p   s        $$   D             X (9S$%>? ( ( ( ^( ( (r'   rP   c                   P    e Zd ZU dZeed<   eed<   eed<   eed<   eed<   eed<   dS )	ResolveResulta  Resolve result.

    This is the result returned from an AbstractResolver's
    resolve method.

    :param hostname: The hostname that was provided.
    :param host: The IP address that was resolved.
    :param port: The port that was resolved.
    :param family: The address family that was resolved.
    :param proto: The protocol that was resolved.
    :param flags: The flags that were resolved.
    hostnamehostportfamilyprotoflagsN)r:   r;   r<   rW   rN   __annotations__intr*   r'   r%   rY   rY      sR           MMM
III
IIIKKKJJJJJJJJr'   rY   c                   x    e Zd ZdZedej        fdededej	        de
e         fd            Zed
d	            ZdS )AbstractResolverzAbstract DNS resolver.r   r[   r\   r]   r   c                 
   K   dS )z$Return IP address for given hostnameNr*   )r$   r[   r\   r]   s       r%   r7   zAbstractResolver.resolve   r8   r'   Nc                 
   K   dS )zRelease resolverNr*   r#   s    r%   closezAbstractResolver.close   r8   r'   r9   )r:   r;   r<   rW   r   socketAF_INETrN   ra   AddressFamilyr   rY   r7   rf   r*   r'   r%   rc   rc      s          %&v~3 33"3060D3	m	3 3 3 ^3
    ^  r'   rc   zMorsel[str]c                      e Zd ZdZdddeej                 ddfdZee	de
fd                        Ze	ddee         ddfd	            Ze	d
eddfd            Ze	 e            fdededdfd            Ze	deddfd            ZdS )AbstractCookieJarzAbstract Cookie Jar.N)looprl   r   c                :    |pt          j                    | _        d S r/   )asyncioget_running_loop_loop)r$   rl   s     r%   r&   zAbstractCookieJar.__init__   s    7W577


r'   c                     dS )z(Return True if cookies should be quoted.Nr*   r#   s    r%   quote_cookiezAbstractCookieJar.quote_cookie   r-   r'   	predicatec                     dS )z,Clear all cookies if no predicate is passed.Nr*   )r$   rs   s     r%   clearzAbstractCookieJar.clear   r-   r'   domainc                     dS )z0Clear all cookies for domain and all subdomains.Nr*   )r$   rv   s     r%   clear_domainzAbstractCookieJar.clear_domain   r-   r'   cookiesresponse_urlc                     dS )zUpdate cookies.Nr*   )r$   ry   rz   s      r%   update_cookiesz AbstractCookieJar.update_cookies   r-   r'   request_urlzBaseCookie[str]c                     dS )z6Return the jar's cookies filtered by their attributes.Nr*   )r$   r}   s     r%   filter_cookiesz AbstractCookieJar.filter_cookies   r-   r'   r/   )r:   r;   r<   rW   r   rn   AbstractEventLoopr&   r=   r   r>   rr   ClearCookiePredicateru   rN   rx   r   r   r|   r   r*   r'   r%   rk   rk      sd       FJ 8 8 8)B C 8t 8 8 8 8 7d 7 7 7 ^ X7 ; ;x(<= ; ; ; ; ^; ?3 ?4 ? ? ? ^? HK  l # RV    ^ E# E2C E E E ^E E Er'   rk   c                   &   e Zd ZU dZdZeed<   dZeed<   dZe	e         ed<   e
deeeef         ddfd	            Ze
ddeddfd            Ze
dd            Ze
dej        fdededdfd            Ze
dd            Ze
deddddfd            ZdS )AbstractStreamWriterzAbstract stream writer.r   buffer_sizeoutput_sizelengthchunkr   Nc                 
   K   dS )zWrite chunk into stream.Nr*   r$   r   s     r%   writezAbstractStreamWriter.write   r8   r'   r'   c                 
   K   dS )zWrite last chunk.Nr*   r   s     r%   	write_eofzAbstractStreamWriter.write_eof   r8   r'   c                 
   K   dS )zFlush the write buffer.Nr*   r#   s    r%   drainzAbstractStreamWriter.drain   r8   r'   deflateencodingstrategyc                     dS )zEnable HTTP body compressionNr*   )r$   r   r   s      r%   enable_compressionz'AbstractStreamWriter.enable_compression   r-   r'   c                     dS )zEnable HTTP chunked modeNr*   r#   s    r%   enable_chunkingz$AbstractStreamWriter.enable_chunking   r-   r'   status_lineheaderszCIMultiDict[str]c                 
   K   dS )zWrite HTTP headersNr*   )r$   r   r   s      r%   write_headersz"AbstractStreamWriter.write_headers   r8   r'   )r'   r9   )r:   r;   r<   rW   r   ra   r`   r   r   r   r   r   bytes	bytearray
memoryviewr   r   r   zlibZ_DEFAULT_STRATEGYrN   r   r   r   r*   r'   r%   r   r      sx        !!KKFHSM'ui'C!D ' ' ' ' ^'    U  T       ^  & & & ^& '9P+ ++36+	+ + + ^+
 ' ' ' ^' !!);!	! ! ! ^! ! !r'   r   c            	       x    e Zd ZdZdZdej        deddfdZe	de
d	ed
eddfd            Zedefd            ZdS )AbstractAccessLoggerzAbstract writer to access log.logger
log_formatr   r   r   Nc                 "    || _         || _        d S r/   r   )r$   r   r   s      r%   r&   zAbstractAccessLogger.__init__   s    $r'   r3   responsetimec                     dS )zEmit log to logger.Nr*   )r$   r3   r   r   s       r%   logzAbstractAccessLogger.log   r-   r'   c                     dS )zCheck if logger is enabled.Tr*   r#   s    r%   enabledzAbstractAccessLogger.enabled   s	     tr'   )r:   r;   r<   rW   rM   loggingLoggerrN   r&   r   r   r   floatr   r=   r>   r   r*   r'   r%   r   r      s        (((I%w~ %3 %4 % % % % "; ". " "RV " " " ^"     X  r'   r   )4rn   r   rg   r   abcr   r   collections.abcr   http.cookiesr   r   typingr   r	   r
   r   r   r   r   r   r   r   r   r   	multidictr   yarlr   typedefsr   web_appr   web_exceptionsr   web_requestr   r   web_responser   r   r4   rP   rY   rc   rN   IterableBaser>   r   rk   r   r   r*   r'   r%   <module>r      s:       # # # # # # # # ! ! ! ! ! ! + + + + + + + +                            " ! ! ! ! !       " " " " " " $$$$$$------11111111,,,,,,,;??K?'?K.M2 2 2 2 2S 2 2 22. . . . . . . .b( ( ( ( (3 ( ( (     I   ,    s     F3K(LLL   56 E E E E E| E E E8!! !! !! !! !!3 !! !! !!H    3     r'   