ó
    °"³jó  ã                  ó†   • S SK Jr  S SKrS SKrS SKJr  SSKJrJrJ	r	J
r
JrJrJrJrJrJr   " S S5      r " S S	\5      rg)
é    )ÚannotationsN)ÚAsyncGeneratoré   )
ÚURLÚ
ExtensionsÚHeaderTypesÚOriginÚRequestÚResponseÚenforce_bytesÚenforce_headersÚenforce_urlÚinclude_request_headersc                  ó”   • \ rS rSrSSSS.           SS jjr\R                  SSSS.           S	S jj5       rS
S jrSr	g)ÚAsyncRequestInterfaceé   N)ÚheadersÚcontentÚ
extensionsc             ƒ  óT  #   • [        USS9n[        USS9n[        USS9n[        X2US9n[	        UUUUUS9nU R                  U5      I S h  v•N n UR                  5       I S h  v•N   UR                  5       I S h  v•N   U$  N7 N  N
! UR                  5       I S h  v•N    f = f7f©NÚmethod)ÚnameÚurlr   )r   r   )r   r   r   r   r   )r   r   r   r   r
   Úhandle_async_requestÚareadÚaclose©Úselfr   r   r   r   r   ÚrequestÚresponses           ÚX/home/mande/repo/quber/.venv/lib/python3.13/site-packages/httpcore2/_async/interfaces.pyr    ÚAsyncRequestInterface.request   s¬   é € ô ˜v¨HÑ5ˆÜ˜# EÑ*ˆÜ! '°	Ñ:ˆô *¨'ÀGÑLˆäØØØØØ!ñ
ˆð ×2Ñ2°7Ó;×;ˆð	$Ø—.‘.Ó"×"Ð"à—/‘/Ó#×#Ð#Øˆñ <á"á#ø�(—/‘/Ó#×#Ò#üsZ   ‚A
B(ÁBÁB(ÁB
 Á%BÁ&B
 Á*B(Á=BÁ>B(ÂB
 ÂB(Â
B%ÂB!ÂB%Â%B(c              ó(  #   • [        USS9n[        USS9n[        USS9n[        X2US9n[	        UUUUUS9nU R                  U5      I S h  v•N n U7v •  UR                  5       I S h  v•N   g  N# N! UR                  5       I S h  v•N    f = f7fr   )r   r   r   r   r
   r   r   r   s           r"   ÚstreamÚAsyncRequestInterface.stream5   s›   é € ô ˜v¨HÑ5ˆÜ˜# EÑ*ˆÜ! '°	Ñ:ˆô *¨'ÀGÑLˆäØØØØØ!ñ
ˆð ×2Ñ2°7Ó;×;ˆð	$Ø‹Nà—/‘/Ó#×#Ñ#ñ	 <ñ $ø�(—/‘/Ó#×#Ò#üsH   ‚A
BÁA0ÁBÁA4 ÁBÁ*A2Á+BÁ2BÁ4BÂBÂ	BÂBc              ƒ  ó   #   • [        5       e7f©N©ÚNotImplementedError)r   r    s     r"   r   Ú*AsyncRequestInterface.handle_async_requestT   ó   é € Ü!Ó#Ð#ùó   ‚© )r   úbytes | strr   úURL | bytes | strr   r   r   ú*bytes | typing.AsyncIterator[bytes] | Noner   úExtensions | NoneÚreturnr   )r   r/   r   r0   r   r   r   r1   r   r2   r3   zAsyncGenerator[Response])r    r
   r3   r   )
Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r    Ú
contextlibÚasynccontextmanagerr%   r   Ú__static_attributes__r.   ó    r"   r   r      s°   † ð  $Ø>BØ(,ñàðð ðð
 ðð <ðð &ðð 
õð> ×#Ñ#ð  $Ø>BØ(,ñ$àð$ð ð$ð
 ð$ð <ð$ð &ð$ð 
"ô$ó $ð$÷<$r;   r   c                  ón   • \ rS rSrSS jrSS jrSS jrSS jrSS jrSS jr	SS jr
SS	 jrSS
 jrSrg)ÚAsyncConnectionInterfaceéX   c              ƒ  ó   #   • [        5       e7fr(   r)   ©r   s    r"   r   ÚAsyncConnectionInterface.acloseY   r,   r-   c                ó   • [        5       er(   r)   r@   s    r"   ÚinfoÚAsyncConnectionInterface.info\   ó   € Ü!Ó#Ð#r;   c                ó   • [        5       er(   r)   )r   Úorigins     r"   Úcan_handle_requestÚ+AsyncConnectionInterface.can_handle_request_   rE   r;   c                ó,   • U R                  5       (       + $ )ax  
Return `True` if the connection is open (the underlying socket has been
established).  A connection in the NEW state (just created but not yet
connected) returns `False`.

Note: for some implementations `is_connected() != not is_closed()`.
The default implementation returns `not self.is_closed()`, which is
correct for connections that are never in the NEW (pre-TCP) state.
)Ú	is_closedr@   s    r"   Úis_connectedÚ%AsyncConnectionInterface.is_connectedb   s   € ð —>‘>Ó#Ô#Ð#r;   c                ó   • [        5       e)a~  
Return `True` if the connection is currently able to accept an
outgoing request.

An HTTP/1.1 connection will only be available if it is currently idle.

An HTTP/2 connection will be available so long as the stream ID space is
not yet exhausted, and the connection is not in an error state.

While the connection is being established we may not yet know if it is going
to result in an HTTP/1.1 or HTTP/2 connection. The connection should be
treated as being available, but might ultimately raise `NewConnectionRequired`
required exceptions if multiple requests are attempted over a connection
that ends up being established as HTTP/1.1.
r)   r@   s    r"   Úis_availableÚ%AsyncConnectionInterface.is_availablen   s   € ô  "Ó#Ð#r;   c                ó   • [        5       e)zÎ
Return `True` if the connection is in a state where it should be closed.

This either means that the connection is idle and it has passed the
expiry time on its keep-alive, or that server has sent an EOF.
r)   r@   s    r"   Úhas_expiredÚ$AsyncConnectionInterface.has_expired€   ó   € ô "Ó#Ð#r;   c                ó   • [        5       e)z4
Return `True` if the connection is currently idle.
r)   r@   s    r"   Úis_idleÚ AsyncConnectionInterface.is_idle‰   s   € ô "Ó#Ð#r;   c                ó   • g)zÑ
Return `True` if the connection can serve multiple requests
concurrently, such as an established HTTP/2 connection.

The default covers HTTP/1.1-style implementations, which serve a
single request at a time.
Fr.   r@   s    r"   Úcan_multiplexÚ&AsyncConnectionInterface.can_multiplex�   s   € ð r;   c                ó   • [        5       e)z 
Return `True` if the connection has been closed.

Used when a response is closed to determine if the connection may be
returned to the connection pool or not.
r)   r@   s    r"   rK   Ú"AsyncConnectionInterface.is_closed™   rT   r;   r.   N)r3   ÚNone)r3   Ústr)rG   r	   r3   Úbool)r3   r_   )r4   r5   r6   r7   r   rC   rH   rL   rO   rR   rV   rY   rK   r:   r.   r;   r"   r=   r=   X   s/   † ô$ô$ô$ô
$ô$ô$$ô$ô÷$r;   r=   )Ú
__future__r   r8   ÚtypingÚcollections.abcr   Ú_modelsr   r   r   r	   r
   r   r   r   r   r   r   r=   r.   r;   r"   Ú<module>rd      s<   ðÝ "ã Û Ý *÷÷ ÷ ÷@$ñ @$ôFH$Ð4õ H$r;   