a
     d&                     @   s   d dl Z d dlZd dlmZ ddlmZmZmZmZ G dd dZG dd deZ	G d	d
 d
eZ
G dd deZG dd deZdS )    N)Optional   )AsyncNetworkBackendAsyncNetworkStreamNetworkBackendNetworkStreamc                   @   s(   e Zd ZedddZedddZdS )MockSSLObjecthttp2c                 C   s
   || _ d S N_http2)selfr
    r   _/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/httpcore/backends/mock.py__init__	   s    zMockSSLObject.__init__returnc                 C   s   | j r
dS dS )Nh2zhttp/1.1r   r   r   r   r   selected_alpn_protocol   s    z$MockSSLObject.selected_alpn_protocolN)__name__
__module____qualname__boolr   strr   r   r   r   r   r      s   r   c                   @   s   e Zd Zdeje eddddZdee	e
 edddZdee	e
 dd	d
dZddddZdeje	e e	e
 edddZeejdddZdS )
MockStreamFNbufferr
   r   c                 C   s   || _ || _d S r   _bufferr   r   r   r
   r   r   r   r      s    zMockStream.__init__	max_bytestimeoutr   c                 C   s   | j s
dS | j dS N    r   r    popr   r#   r$   r   r   r   read   s    zMockStream.readr   r$   r   c                 C   s   d S r   r   r   r   r$   r   r   r   write   s    zMockStream.writer   c                 C   s   d S r   r   r   r   r   r   close   s    zMockStream.closessl_contextserver_hostnamer$   r   c                 C   s   | S r   r   r   r0   r1   r$   r   r   r   	start_tls    s    zMockStream.start_tlsinfor   c                 C   s   |dkrt | jdS d S NZ
ssl_objectr	   r   r   r   r5   r   r   r   get_extra_info(   s    zMockStream.get_extra_info)F)N)N)NN)r   r   r   typingListbytesr   r   intr   floatr*   r-   r.   ssl
SSLContextr   r   r3   Anyr9   r   r   r   r   r      s     r   c                   @   sn   e Zd Zdeje eddddZdee	e
e e
e edddZdee
e ed	d
dZeddddZdS )MockBackendFNr   c                 C   s   || _ || _d S r   r   r!   r   r   r   r   -   s    zMockBackend.__init__hostportr$   local_addressr   c                 C   s   t t| j| jdS Nr	   r   listr    r   r   rD   rE   r$   rF   r   r   r   connect_tcp1   s    zMockBackend.connect_tcppathr$   r   c                 C   s   t t| j| jdS rG   rH   r   rM   r$   r   r   r   connect_unix_socket:   s    zMockBackend.connect_unix_socketsecondsr   c                 C   s   d S r   r   r   rQ   r   r   r   sleep?   s    zMockBackend.sleep)F)NN)N)r   r   r   r:   r;   r<   r   r   r   r=   r   r>   r   rK   rO   rS   r   r   r   r   rB   ,   s      
 rB   c                   @   s   e Zd Zdeje eddddZdee	e
 edddZdee	e
 dd	d
dZddddZdeje	e e	e
 edddZeejdddZdS )AsyncMockStreamFNr   c                 C   s   || _ || _d S r   r   r!   r   r   r   r   D   s    zAsyncMockStream.__init__r"   c                    s   | j s
dS | j dS r%   r'   r)   r   r   r   r*   H   s    zAsyncMockStream.readr+   c                    s   d S r   r   r,   r   r   r   r-   M   s    zAsyncMockStream.writer   c                    s   d S r   r   r   r   r   r   acloseP   s    zAsyncMockStream.acloser/   c                    s   | S r   r   r2   r   r   r   r3   S   s    zAsyncMockStream.start_tlsr4   c                 C   s   |dkrt | jdS d S r6   r7   r8   r   r   r   r9   [   s    zAsyncMockStream.get_extra_info)F)N)N)NN)r   r   r   r:   r;   r<   r   r   r=   r   r>   r*   r-   rU   r?   r@   r   r   r3   rA   r9   r   r   r   r   rT   C   s     rT   c                   @   sn   e Zd Zdeje eddddZdee	e
e e
e edddZdee
e ed	d
dZeddddZdS )AsyncMockBackendFNr   c                 C   s   || _ || _d S r   r   r!   r   r   r   r   `   s    zAsyncMockBackend.__init__rC   c                    s   t t| j| jdS rG   rT   rI   r    r   rJ   r   r   r   rK   d   s    zAsyncMockBackend.connect_tcprL   c                    s   t t| j| jdS rG   rW   rN   r   r   r   rO   m   s    z$AsyncMockBackend.connect_unix_socketrP   c                    s   d S r   r   rR   r   r   r   rS   r   s    zAsyncMockBackend.sleep)F)NN)N)r   r   r   r:   r;   r<   r   r   r   r=   r   r>   r   rK   rO   rS   r   r   r   r   rV   _   s      
 rV   )r?   r:   r   baser   r   r   r   r   r   rB   rT   rV   r   r   r   r   <module>   s   