
    ]jg4                       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   )NetworkStream)ConnectionNotAvailableLocalProtocolErrorRemoteProtocolError
WriteErrormap_exceptions)OriginRequestResponse)LockShieldCancellation)Trace   )ConnectionInterfacez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     Q/var/www/html/afkarena/venv/lib/python3.11/site-packages/httpcore/_sync/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 )?HTTP11Connectioni   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HTTP11Connection.__init__/   sg     %/?(,)-66.Z&*&D
 
 
r   requestr   r   c           	        |                      |j        j                  s$t          d|j        j         d| j                   | j        5  | j        t          j        t          j	        fv r)| xj
        dz  c_
        t          j        | _        d | _        nt                      	 d d d            n# 1 swxY w Y   	 d|i}	 t          dt          ||          5 } | j        di | d d d            n# 1 swxY w Y   t          dt          ||          5 } | j        di | d d d            n# 1 swxY w Y   n# t$          $ r Y nw xY wt          dt          ||          5 } | j        di |\  }}}}}||||f|_        d d d            n# 1 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          $ ro}
t7                      5  t          dt          |          5 }|                                  d d d            n# 1 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HTTP11UpgradeStreamr   HTTP11ConnectionByteStreamBaseExceptionr   _response_closed)r7   r9   kwargstracer@   rC   rA   rD   trailing_datarB   excs              r   handle_requestzHTTP11Connection.handle_requestA   s   &&w{'9:: 	%0B % %l% %  
  	/ 	/{268K8PQQQ##q(##18"&,...  		/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/8	)F*FGV  9.D.888889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 .HH 6E+D+55f5556 6 6 6 6 6 6 6 6 6 6 6 6 6 6     *FGV   3D2<<V<< !! !!	&"              " "1N #:--C64G4G4G4GC4G4G4G4G4G!4^]!S!S24AA$0%2&4 		 	 	 	  	 	 	#%% , ,,fg>> ,%))+++, , , , , , , , , , , , , , ,, , , , , , , , , , , , , , , I		s  AB//B36B3;G3  D9 C1%D9 1C55D9 8C59D9 D-!D9 -D11D9 4D15D9 8G3 9
EG3 EG3  F?G3 FG3 FAG3 3
I,=I'I"I7III
III'I	I'!I	"I''I,c                \   |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 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&HTTP11Connection._send_request_headers   s    %)))R88,,w--S35GHII 	 	K~{)  E	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	00000s   ,B

BBc                f   |j                             di           }|                    dd           }t          |j        t          j                  sJ |j        D ].}t          j        |          }|                     ||           /|                     t          j	                    |           d S )Nr[   r\   )datar^   )
rF   r_   
isinstancer#   typingIterabler2   Datar`   EndOfMessage)r7   r9   rb   r[   chunkrc   s         r   rM   z#HTTP11Connection._send_request_body   s    %)))R88,,w--'.&/:::::^ 	5 	5EH%(((EUG4444)++W=====r   rc   	h11.Eventr[   c                z    | j                             |          }|| j                            ||           d S d S )Nr^   )r6   sendr,   r\   )r7   rc   r[   bytes_to_sends       r   r`   zHTTP11Connection._send_event   sG    ,,U33$ &&}g&FFFFF %$r   :tuple[bytes, int, bytes, list[tuple[bytes, bytes]], bytes]c                   |j                             di           }|                    dd           }	 |                     |          }t          |t          j                  rn't          |t          j                  r|j        dk    rnXd|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*HTTP11Connection._receive_response_headers   s     %)))R88,,vt,,	'''88E%.. 5#";<<%,,	  %"44 -))++?8qU.g}TTr   typing.Iterator[bytes]c              #  J  K   |j                             di           }|                    dd           }	 |                     |          }t          |t          j                  rt          |j                  V  n(t          |t          j        t          j	        f          rd S p)Nr[   rr   Tr^   )
rF   r_   rs   rf   r2   ri   bytesre   rj   PAUSEDra   s        r   _receive_response_bodyz'HTTP11Connection._receive_response_body   s       %)))R88,,vt,,	'''88E%** EJ''''''EC$4cj#ABB 	r   h11.Event | type[h11.PAUSED]c                   	 t          t          j        t          i          5  | j                                        }d d d            n# 1 swxY w Y   |t          j        u rm| j                            | j        |          }|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HTTP11Connection._receive_event   s   	!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 %%+00' 1   3;;4?#>#BS#S#SKC-c222,,T2222 1	s   AAAc                v   | j         5  | j        j        t          j        u rl| j        j        t          j        u rTt          j        | _        | j        	                                 | j
        "t          j                    }|| j
        z   | _        n|                                  d d d            d S # 1 swxY w Y   d S N)r0   r6   	our_stater2   DONEr   r   r   r/   start_next_cycler-   time	monotonicr.   close)r7   nows     r   rT   z!HTTP11Connection._response_closed   s     	 	)SX55O/38;;1600222)5.**C&)D,B&BDO

	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   BB..B25B2c                Z    t           j        | _        | j                                         d S r   )r   r   r/   r,   r   r7   s    r   r   zHTTP11Connection.close   s)     *0""$$$$$r   boolc                    || j         k    S r   )r+   r7   r"   s     r   rH   z#HTTP11Connection.can_handle_request  s    %%r   c                ,    | j         t          j        k    S r   r/   r   r   r   s    r   is_availablezHTTP11Connection.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HTTP11Connection.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HTTP11Connection.is_idle   s    {1666r   c                ,    | j         t          j        k    S r   )r/   r   r   r   s    r   	is_closedzHTTP11Connection.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HTTP11Connection.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HTTP11Connection.__repr__-  sc    ^,
T\""6
 6 6f 6 6$+*: 6 6"16 6 6	
r   c                    | S r   r   r   s    r   	__enter__zHTTP11Connection.__enter__8  s    r   exc_typetype[BaseException] | None	exc_valueBaseException | None	tracebacktypes.TracebackType | Nonec                .    |                                   d S r   )r   )r7   r   r   r   s       r   __exit__zHTTP11Connection.__exit__;  s     	

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
1 
1 
1 
1	> 	> 	> 	>G G G G G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              #  X  K   d| j         i}	 t          dt          | j         |          5   | j        j        di |D ]}|V  	 d d d            d S # 1 swxY w Y   d S # t
          $ rA}t                      5  |                                  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   __iter__z#HTTP11ConnectionByteStream.__iter__J  s]     T]+
	.vNN    DT-DNNvNN    EKKKK                                      	 	 	 $%%  

              I	s^   A AA AA AA 
B)(B$6BB$B	B$B	B$$B)c                    | j         sVd| _         t          dt          | j                  5  | j                                         d d d            d S # 1 swxY w Y   d S d S )NTrG   )r   r   rK   r   r   rT   r   s    r   r   z HTTP11ConnectionByteStream.closeX  s    | 	4DL(&$-@@ 4 4 113334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4	4 	4s   AAAN)r   r!   r9   r   r&   r'   )r&   ry   r   )r   r   r   r8   r   r   r   r   r   rR   rR   D  sP           
   4 4 4 4 4 4r   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HTTP11UpgradeStream.__init__`  s    )r   N	max_bytesintr[   r%   c                    | j         r%| j         d |         }| j         |d          | _         |S | j                            ||          S r   )r   r   rr   )r7   r   r[   buffers       r   rr   zHTTP11UpgradeStream.readd  sO     	9'

3F!%!3IJJ!?DM<$$Y888r   r   c                <    | j                             ||           d S r   )r   r\   )r7   r   r[   s      r   r\   zHTTP11UpgradeStream.writel  s     67+++++r   c                8    | j                                          d S r   )r   r   r   s    r   r   zHTTP11UpgradeStream.closeo  s    r   ssl_contextssl.SSLContextserver_hostname
str | Nonec                :    | j                             |||          S r   )r   	start_tls)r7   r   r   r[   s       r   r   zHTTP11UpgradeStream.start_tlsr  s     |%%k?GLLLr   r   r   
typing.Anyc                6    | j                             |          S r   )r   r   )r7   r   s     r   r   z"HTTP11UpgradeStream.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        * * * *9 9 9 9 9, , , , ,    '+ $	M M M M M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 / / / / / / / / / 7 7 7 7 7 7 7 7       + + + + + +		,	-	- |KH    $,   V V V V V* V V Vr4 4 4 4 4 4 4 461 1 1 1 1- 1 1 1 1 1r   