
     @g86                       d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZddl	m
Z
 ddlmZmZmZmZmZ ddlmZmZmZ ddlmZmZ ddlmZ d	d
lmZ  ej        d          Zej        ej        ej        ej         f         Z! G d dej"                  Z# G d de          Z$ G d d          Z% G d de
          Z&dS )    )annotationsN   )AsyncNetworkStream)ConnectionNotAvailableLocalProtocolErrorRemoteProtocolError
WriteErrormap_exceptions)OriginRequestResponse)	AsyncLockAsyncShieldCancellation)Trace   )AsyncConnectionInterfacezhttpcore.http11c                      e Zd ZdZdZdZdZdS )HTTPConnectionStater   r   r      N)__name__
__module____qualname__NEWACTIVEIDLECLOSED     J/var/www/piapp/venv/lib/python3.11/site-packages/httpcore/_async/http11.pyr   r   $   s"        
CFDFFFr   r   c                      e Zd ZdZdZ	 d0d1dZd2dZd3dZd3dZd0d4dZ	d5dZ
d6dZ	 d0d7dZd8dZd8dZd9d Zd:d!Zd:d"Zd:d#Zd:d$Zd;d&Zd;d'Zd<d(Z	 	 	 d=d>d/ZdS )?AsyncHTTP11Connectioni   i  Noriginr   streamr   keepalive_expiryfloat | NonereturnNonec                    || _         || _        || _        d | _        t          j        | _        t                      | _        d| _	        t          j        t          j        | j                  | _        d S )Nr   )our_rolemax_incomplete_event_size)_origin_network_stream_keepalive_expiry
_expire_atr   r   _stater   _state_lock_request_counth11
ConnectionCLIENTMAX_INCOMPLETE_EVENT_SIZE
_h11_state)selfr"   r#   r$   s       r   __init__zAsyncHTTP11Connection.__init__/   sg     %/?(,)-$;;.Z&*&D
 
 
r   requestr   r   c           	       K   |                      |j        j                  s$t          d|j        j         d| j                   | j        4 d {V  | j        t          j        t          j	        fv r)| xj
        dz  c_
        t          j        | _        d | _        nt                      	 d d d           d {V  n# 1 d {V swxY w Y   	 d|i}	 t          dt          ||          4 d {V 	 } | j        di | d {V  d d d           d {V  n# 1 d {V swxY w Y   t          dt          ||          4 d {V } | j        di | d {V  d d d           d {V  n# 1 d {V swxY w Y   n# t$          $ r Y nw xY wt          dt          ||          4 d {V 	 } | j        di | d {V \  }}}}}||||f|_        d d d           d {V  n# 1 d {V swxY w Y   | j        }	|dk    s|j        d	k    r d
|cxk    rdk     rn nt/          |	|          }	t1          ||t3          | |          |||	d          S # t4          $ r}
t7                      5  t          dt          |          4 d {V }|                                  d {V  d d d           d {V  n# 1 d {V swxY w Y   d d d            n# 1 swxY w Y   |
d }
~
ww xY w)NzAttempted to send request to z on connection to r   r9   send_request_headerssend_request_bodyreceive_response_headerse   s   CONNECT   i,  )http_versionreason_phrasenetwork_stream)statusheaderscontent
extensionsresponse_closedr   )can_handle_requesturlr"   RuntimeErrorr+   r0   r/   r   r   r   r1   r   r.   r   r   logger_send_request_headers_send_request_bodyr	   _receive_response_headersreturn_valuer,   methodAsyncHTTP11UpgradeStreamr   HTTP11ConnectionByteStreamBaseExceptionr   _response_closed)r7   r9   kwargstracer@   rC   rA   rD   trailing_datarB   excs              r   handle_async_requestz*AsyncHTTP11Connection.handle_async_requestA   s     &&w{'9:: 	%0B % %l% %  
 # 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/{268K8PQQQ##q(##18"&,....	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/8	)F *FGV  ? ? ? ? ? ? ? ?4$4>>v>>>>>>>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? !!4fgvNN < < < < < < <RW1$1;;F;;;;;;;;;< < < < < < < < < < < < < < < < < < < < < < < < < < <     *FGV          9$8BB6BBBBBBBB !! !!	&"                          " "1N #:--C64G4G4G4GC4G4G4G4G4G!9.-!X!X24AA$0%2&4 		 	 	 	  	 	 	(** 2 2 !2FGDD 2 2 2 2 2 2 2//1111111112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 I		s  AB==
C
CI E> 2DE> 
D""E> %D"& E> E,E> ,
E66E> 9E6:E> =I >
FI 
F I ,%G#I #
G--I 0G-1AI 
K"K)KJ3!K3
J==K J=KKK	KK	KK"c                l  K   |j                             di           }|                    dd           }t          t          j        t          i          5  t          j        |j        |j        j        |j	                  }d d d            n# 1 swxY w Y   | 
                    ||           d {V  d S )Ntimeoutwrite)rP   targetrD   r[   )rF   getr
   r2   r   r   rP   rI   r]   rD   _send_eventr7   r9   timeoutsr[   events        r   rL   z+AsyncHTTP11Connection._send_request_headers   s      %)))R88,,w--S35GHII 	 	K~{)  E	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ug66666666666s   ,BBBc                  K   |j                             di           }|                    dd           }t          |j        t          j                  sJ |j        2 3 d {V }t          j        |          }|                     ||           d {V  :6 |                     t          j	                    |           d {V  d S )Nr[   r\   )datar^   )
rF   r_   
isinstancer#   typingAsyncIterabler2   Datar`   EndOfMessage)r7   r9   rb   r[   chunkrc   s         r   rM   z(AsyncHTTP11Connection._send_request_body   s      %)))R88,,w--'.&*>?????"> 	; 	; 	; 	; 	; 	; 	;%H%(((E""5'":::::::::: * s/117CCCCCCCCCCCs   Brc   	h11.Eventr[   c                   K   | j                             |          }|$| j                            ||           d {V  d S d S )Nr^   )r6   sendr,   r\   )r7   rc   r[   bytes_to_sends       r   r`   z!AsyncHTTP11Connection._send_event   s]      ,,U33$&,,]G,LLLLLLLLLLL %$r   :tuple[bytes, int, bytes, list[tuple[bytes, bytes]], bytes]c                  K   |j                             di           }|                    dd           }	 |                     |           d {V }t          |t          j                  rn't          |t          j                  r|j        dk    rn^d|j        z   }|j	        
                                }| j        j        \  }}||j        |j        ||fS )Nr[   readTr^   r>   s   HTTP/)rF   r_   _receive_eventrf   r2   r   InformationalResponsestatus_coder@   rD   	raw_itemsr6   rW   reason)	r7   r9   rb   r[   rc   r@   rD   rW   _s	            r   rN   z/AsyncHTTP11Connection._receive_response_headers   s       %)))R88,,vt,,	--g->>>>>>>>E%.. 5#";<<%,,	  %"44 -))++?8qU.g}TTr   typing.AsyncIterator[bytes]c               X  K   |j                             di           }|                    dd           }	 |                     |           d {V }t          |t          j                  rt          |j                  W V  n(t          |t          j        t          j	        f          rd S w)Nr[   rr   Tr^   )
rF   r_   rs   rf   r2   ri   bytesre   rj   PAUSEDra   s        r   _receive_response_bodyz,AsyncHTTP11Connection._receive_response_body   s       %)))R88,,vt,,	--g->>>>>>>>E%** EJ'''''''EC$4cj#ABB 	r   h11.Event | type[h11.PAUSED]c                  K   	 t          t          j        t          i          5  | j                                        }d d d            n# 1 swxY w Y   |t          j        u rs| j                            | j        |           d {V }|dk    r+| j        j	        t          j
        k    rd}t          |          | j                            |           n|S )NTr^   r   z/Server disconnected without sending a response.)r
   r2   r   r6   
next_event	NEED_DATAr,   rr   READ_NUM_BYTEStheir_stateSEND_RESPONSEreceive_data)r7   r[   rc   re   msgs        r   rs   z$AsyncHTTP11Connection._receive_event   s1     	!8:M NOO 5 522445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 %%!166' 7         3;;4?#>#BS#S#SKC-c222,,T2222 1	s   A

AAc                  K   | j         4 d {V  | j        j        t          j        u rl| j        j        t          j        u rTt          j        | _        | j        	                                 | j
        "t          j                    }|| j
        z   | _        n|                                  d {V  d d d           d {V  d S # 1 d {V swxY w Y   d S N)r0   r6   	our_stater2   DONEr   r   r   r/   start_next_cycler-   time	monotonicr.   aclose)r7   nows     r   rT   z&AsyncHTTP11Connection._response_closed   sU     # 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$)SX55O/38;;1600222)5.**C&)D,B&BDOkkmm#######	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$s   BC
CCc                j   K   t           j        | _        | j                                         d {V  d S r   )r   r   r/   r,   r   r7   s    r   r   zAsyncHTTP11Connection.aclose   s?       *0"))+++++++++++r   boolc                    || j         k    S r   )r+   r7   r"   s     r   rH   z(AsyncHTTP11Connection.can_handle_request  s    %%r   c                ,    | j         t          j        k    S r   r/   r   r   r   s    r   is_availablez"AsyncHTTP11Connection.is_available  s    
 {1666r   c                    t          j                    }| j        d uo
|| j        k    }| j        t          j        k    o| j                            d          }|p|S )Nis_readable)r   r   r.   r/   r   r   r,   get_extra_info)r7   r   keepalive_expiredserver_disconnecteds       r   has_expiredz!AsyncHTTP11Connection.has_expired  se    n O47QC$/<Q K.33 C$33MBB 	
 !7$77r   c                ,    | j         t          j        k    S r   r   r   s    r   is_idlezAsyncHTTP11Connection.is_idle   s    {1666r   c                ,    | j         t          j        k    S r   )r/   r   r   r   s    r   	is_closedzAsyncHTTP11Connection.is_closed#  s    {1888r   strc                \    t          | j                  }|d| j        j         d| j         S )Nz, HTTP/1.1, , Request Count: )r   r+   r/   namer1   r   s     r   infozAsyncHTTP11Connection.info&  sD    T\"" 4 4T[%5 4 4"14 4	
r   c           	     ~    | j         j        }t          | j                  }d| d|d| j        j         d| j         d	S )N<z [z, r   z]>)	__class__r   r   r+   r/   r   r1   )r7   
class_namer"   s      r   __repr__zAsyncHTTP11Connection.__repr__-  sc    ^,
T\""6
 6 6f 6 6$+*: 6 6"16 6 6	
r   c                
   K   | S r   r   r   s    r   
__aenter__z AsyncHTTP11Connection.__aenter__8  s      r   exc_typetype[BaseException] | None	exc_valueBaseException | None	tracebacktypes.TracebackType | Nonec                >   K   |                                   d {V  d S r   )r   )r7   r   r   r   s       r   	__aexit__zAsyncHTTP11Connection.__aexit__;  s.       kkmmr   r   )r"   r   r#   r   r$   r%   r&   r'   )r9   r   r&   r   )r9   r   r&   r'   )rc   rl   r[   r%   r&   r'   )r9   r   r&   rp   )r9   r   r&   ry   )r[   r%   r&   r~   r&   r'   )r"   r   r&   r   )r&   r   )r&   r   )r&   r!   )NNN)r   r   r   r   r   r   r&   r'   )r   r   r   r   r5   r8   rY   rL   rM   r`   rN   r}   rs   rT   r   rH   r   r   r   r   r   r   r   r   r   r   r   r!   r!   +   s       N * *.	
 
 
 
 
$G G G GV
7 
7 
7 
7	D 	D 	D 	DM M M M MU U U U4    '+    :$ $ $ $ , , , ,& & & &7 7 7 78 8 8 87 7 7 79 9 9 9
 
 
 

 
 
 
   
 04*.04	      r   r!   c                  &    e Zd ZddZdd	Zdd
ZdS )rR   
connectionr!   r9   r   r&   r'   c                0    || _         || _        d| _        d S )NF)_connection_request_closed)r7   r   r9   s      r   r8   z#HTTP11ConnectionByteStream.__init__E  s    %r   ry   c                 K   d| j         i}	 t          dt          | j         |          4 d {V   | j        j        di |2 3 d {V }|W V  6 	 d d d           d {V  d S # 1 d {V swxY w Y   d S # t
          $ rG}t                      5  |                                  d {V  d d d            n# 1 swxY w Y   |d }~ww xY w)Nr9   receive_response_bodyr   )r   r   rK   r   r}   rS   r   r   )r7   rU   rk   rX   s       r   	__aiter__z$HTTP11ConnectionByteStream.__aiter__J  s     T]+
	4fdmVTT                #J4#3#J#T#TV#T#T              %KKKKK $U#T                                                             	 	 	 )** $ $kkmm#######$ $ $ $ $ $ $ $ $ $ $ $ $ $ $I	sj   "A7 A$AA$A7 $
A..A7 1A.2A7 7
CCB6*C6B:	:C=B:	>CCc                   K   | j         snd| _         t          dt          | j                  4 d {V  | j                                         d {V  d d d           d {V  d S # 1 d {V swxY w Y   d S d S )NTrG   )r   r   rK   r   r   rT   r   s    r   r   z!HTTP11ConnectionByteStream.acloseX  s     | 	:DL.FF : : : : : : : :&77999999999: : : : : : : : : : : : : : : : : : : : : : : : : : : : : :	: 	:s    A%%
A/2A/N)r   r!   r9   r   r&   r'   )r&   ry   r   )r   r   r   r8   r   r   r   r   r   rR   rR   D  sP           
   : : : : : :r   rR   c                  H    e Zd ZddZdddZdddZddZ	 	 dd dZd!dZdS )"rQ   r#   r   leading_datar{   r&   r'   c                "    || _         || _        d S r   )_stream_leading_data)r7   r#   r   s      r   r8   z!AsyncHTTP11UpgradeStream.__init__`  s    )r   N	max_bytesintr[   r%   c                   K   | j         r%| j         d |         }| j         |d          | _         |S | j                            ||           d {V S r   )r   r   rr   )r7   r   r[   buffers       r   rr   zAsyncHTTP11UpgradeStream.readd  se       	?'

3F!%!3IJJ!?DM**9g>>>>>>>>>r   r   c                L   K   | j                             ||           d {V  d S r   )r   r\   )r7   r   r[   s      r   r\   zAsyncHTTP11UpgradeStream.writel  s6      l  11111111111r   c                H   K   | j                                          d {V  d S r   )r   r   r   s    r   r   zAsyncHTTP11UpgradeStream.acloseo  s2      l!!###########r   ssl_contextssl.SSLContextserver_hostname
str | Nonec                J   K   | j                             |||           d {V S r   )r   	start_tls)r7   r   r   r[   s       r   r   z"AsyncHTTP11UpgradeStream.start_tlsr  s4       \++K'RRRRRRRRRr   r   r   
typing.Anyc                6    | j                             |          S r   )r   r   )r7   r   s     r   r   z'AsyncHTTP11UpgradeStream.get_extra_infoz  s    |**4000r   )r#   r   r   r{   r&   r'   r   )r   r   r[   r%   r&   r{   )r   r{   r[   r%   r&   r'   r   )NN)r   r   r   r   r[   r%   r&   r   )r   r   r&   r   )	r   r   r   r8   rr   r\   r   r   r   r   r   r   rQ   rQ   _  s        * * * *? ? ? ? ?2 2 2 2 2$ $ $ $ '+ $	S S S S S1 1 1 1 1 1r   rQ   )'
__future__r   enumloggingsslr   typesrg   r2   _backends.baser   _exceptionsr   r   r   r	   r
   _modelsr   r   r   _synchronizationr   r   _tracer   
interfacesr   	getLoggerrK   Unionri   rj   H11SendEventIntEnumr   r!   rR   rQ   r   r   r   <module>r      s   " " " " " "   



    



 / / / / / /              0 / / / / / / / / / A A A A A A A A       0 0 0 0 0 0		,	-	- |KH    $,   V V V V V4 V V Vr: : : : : : : :61 1 1 1 11 1 1 1 1 1r   