
    ՟fS                         d dl Z d dlZd dlmZ ddlmZ ddlmZmZmZm	Z	m
Z
  G d d      Z G d	 d
e
      Z G d de	      Z G d de      Z G d de      Zy)    N)Optional   )	ReadError   )SOCKET_OPTIONAsyncNetworkBackendAsyncNetworkStreamNetworkBackendNetworkStreamc                   $    e Zd ZdefdZdefdZy)MockSSLObjecthttp2c                     || _         y N_http2)selfr   s     R/var/www/cvtools/html/venv/lib/python3.12/site-packages/httpcore/_backends/mock.py__init__zMockSSLObject.__init__   s	        returnc                 "    | j                   rdS dS )Nh2zhttp/1.1r   r   s    r   selected_alpn_protocolz$MockSSLObject.selected_alpn_protocol   s    {{t2
2r   N)__name__
__module____qualname__boolr   strr    r   r   r   r      s    d 3 3r   r   c            	           e Zd Zddej                  e   deddfdZddede	e
   defdZddede	e
   ddfd	Zdd
Z	 	 ddej                  de	e   de	e
   defdZdedej&                  fdZdefdZy)
MockStreambufferr   r   Nc                 .    || _         || _        d| _        y NF_bufferr   _closedr   r$   r   s      r   r   zMockStream.__init__       r   	max_bytestimeoutc                     | j                   rt        d      | j                  sy| j                  j                  d      S NzConnection closedr   r   r)   r   r(   popr   r,   r-   s      r   readzMockStream.read   s4    <</00||||""r   c                      y r   r!   r   r$   r-   s      r   writezMockStream.write$       r   c                     d| _         y NTr)   r   s    r   closezMockStream.close'   s	    r   ssl_contextserver_hostnamec                     | S r   r!   r   r<   r=   r-   s       r   	start_tlszMockStream.start_tls*   s	     r   infoc                 <    |dk(  rt        | j                        S d S N
ssl_objectr   r   r   r   rA   s     r   get_extra_infozMockStream.get_extra_info2       37<3G}4;;/QTQr   c                      y)Nz<httpcore.MockStream>r!   r   s    r   __repr__zMockStream.__repr__5   s    &r   Fr   r   NNN)r   r   r   typingListbytesr   r   intr   floatr3   r6   r;   ssl
SSLContextr    r   r@   AnyrH   rK   r!   r   r   r#   r#      s    v{{51 $ 4 
#c #HUO #u #E HUO t  *.#'	^^ "# %	
 
R3 R6:: R'# 'r   r#   c                      e Zd Zddej                  e   deddfdZ	 	 	 ddede	de
e   d	e
e   d
ej                  ej                  e      defdZ	 	 ddede
e   d
ej                  ej                  e      defdZdeddfdZy)MockBackendr$   r   r   Nc                      || _         || _        y r   r(   r   r*   s      r   r   zMockBackend.__init__:       r   hostportr-   local_addresssocket_optionsc                 V    t        t        | j                        | j                        S NrE   r#   listr(   r   r   r\   r]   r-   r^   r_   s         r   connect_tcpzMockBackend.connect_tcp>   s     $t||,DKK@@r   pathc                 V    t        t        | j                        | j                        S ra   rb   r   rf   r-   r_   s       r   connect_unix_socketzMockBackend.connect_unix_socketH   s     $t||,DKK@@r   secondsc                      y r   r!   r   rj   s     r   sleepzMockBackend.sleepP   r7   r   rL   NNNrN   )r   r   r   rO   rP   rQ   r   r   r    rR   r   rS   Iterabler   r   re   ri   rm   r!   r   r   rX   rX   9   s    v{{51 $ 4  $('+JNAA A %	A
  }A (FGA 
A $(JN	AA %A (FG	A
 
AU t r   rX   c            	           e Zd Zddej                  e   deddfdZddede	e
   defdZddede	e
   ddfd	Zdd
Z	 	 ddej                  de	e   de	e
   defdZdedej&                  fdZdefdZy)AsyncMockStreamr$   r   r   Nc                 .    || _         || _        d| _        y r&   r'   r*   s      r   r   zAsyncMockStream.__init__U   r+   r   r,   r-   c                    K   | j                   rt        d      | j                  sy| j                  j                  d      S wr/   r0   r2   s      r   r3   zAsyncMockStream.readZ   s8     <</00||||""s   A Ac                    K   y wr   r!   r5   s      r   r6   zAsyncMockStream.writea   	        c                    K   d| _         y wr9   r:   r   s    r   aclosezAsyncMockStream.aclosed   s     s   	r<   r=   c                    K   | S wr   r!   r?   s       r   r@   zAsyncMockStream.start_tlsg   s      s   rA   c                 <    |dk(  rt        | j                        S d S rC   rF   rG   s     r   rH   zAsyncMockStream.get_extra_infoo   rI   r   c                      y)Nz<httpcore.AsyncMockStream>r!   r   s    r   rK   zAsyncMockStream.__repr__r   s    +r   rL   r   rM   rN   )r   r   r   rO   rP   rQ   r   r   rR   r   rS   r3   r6   rx   rT   rU   r    r	   r@   rV   rH   rK   r!   r   r   rq   rq   T   s    v{{51 $ 4 
#C #(5/ #U #% (5/ T  *.#'	^^ "# %	
 
R3 R6:: R,# ,r   rq   c                      e Zd Zddej                  e   deddfdZ	 	 	 ddede	de
e   d	e
e   d
ej                  ej                  e      defdZ	 	 ddede
e   d
ej                  ej                  e      defdZdeddfdZy)AsyncMockBackendr$   r   r   Nc                      || _         || _        y r   rZ   r*   s      r   r   zAsyncMockBackend.__init__w   r[   r   r\   r]   r-   r^   r_   c                 ^   K   t        t        | j                        | j                        S wra   rq   rc   r(   r   rd   s         r   re   zAsyncMockBackend.connect_tcp{   s"      tDLL1EE   +-rf   c                 ^   K   t        t        | j                        | j                        S wra   r   rh   s       r   ri   z$AsyncMockBackend.connect_unix_socket   s"      tDLL1EEr   rj   c                    K   y wr   r!   rl   s     r   rm   zAsyncMockBackend.sleep   ru   rv   rL   rn   rN   )r   r   r   rO   rP   rQ   r   r   r    rR   r   rS   ro   r   r	   re   ri   rm   r!   r   r   r}   r}   v   s    v{{51 $ 4  $('+JNFF F %	F
  }F (FGF 
F $(JN	FF %F (FG	F
 
F5 T r   r}   )rT   rO   r   _exceptionsr   baser   r   r	   r
   r   r   r#   rX   rq   r}   r!   r   r   <module>r      sY    
   # 3 3' 'D. 6,( ,D* r   