a
    OfS                     @   s   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 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   )	ReadError   )SOCKET_OPTION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   P/var/www/ai-form-bot/venv/lib/python3.9/site-packages/httpcore/_backends/mock.py__init__   s    zMockSSLObject.__init__returnc                 C   s   | j r
dS dS )NZ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edddZdS )
MockStreamFNbufferr   r   c                 C   s   || _ || _d| _d S NF_bufferr   _closedr   r    r   r   r   r   r      s    zMockStream.__init__	max_bytestimeoutr   c                 C   s$   | j rtd| jsdS | jdS NzConnection closed    r   r$   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| _ d S NTr$   r   r   r   r   close'   s    zMockStream.closessl_contextserver_hostnamer(   r   c                 C   s   | S r   r   r   r6   r7   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   r;   r   r   r   get_extra_info2   s    zMockStream.get_extra_infoc                 C   s   dS )Nz<httpcore.MockStream>r   r   r   r   r   __repr__5   s    zMockStream.__repr__)F)N)N)NN)r   r   r   typingListbytesr   r   intr   floatr.   r1   r4   ssl
SSLContextr   r
   r9   Anyr?   r@   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 e
e ej
eje  edddZdee
e ej
ej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   r   :   s    zMockBackend.__init__hostportr(   local_addresssocket_optionsr   c                 C   s   t t| j| jdS Nr   r   listr#   r   r   rL   rM   r(   rN   rO   r   r   r   connect_tcp>   s    zMockBackend.connect_tcppathr(   rO   r   c                 C   s   t t| j| jdS rP   rQ   r   rV   r(   rO   r   r   r   connect_unix_socketH   s    zMockBackend.connect_unix_socketsecondsr   c                 C   s   d S r   r   r   rZ   r   r   r   sleepP   s    zMockBackend.sleep)F)NNN)NN)r   r   r   rA   rB   rC   r   r   r   rD   r   rE   Iterabler   r
   rT   rX   r\   r   r   r   r   rI   9   s*        rI   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edddZdS )AsyncMockStreamFNr   c                 C   s   || _ || _d| _d S r!   r"   r%   r   r   r   r   U   s    zAsyncMockStream.__init__r&   c                    s$   | j rtd| jsdS | jdS r)   r+   r-   r   r   r   r.   Z   s
    zAsyncMockStream.readr/   c                    s   d S r   r   r0   r   r   r   r1   a   s    zAsyncMockStream.writer   c                    s
   d| _ d S r2   r3   r   r   r   r   aclosed   s    zAsyncMockStream.acloser5   c                    s   | S r   r   r8   r   r   r   r9   g   s    zAsyncMockStream.start_tlsr:   c                 C   s   |dkrt | jdS d S r<   r=   r>   r   r   r   r?   o   s    zAsyncMockStream.get_extra_infoc                 C   s   dS )Nz<httpcore.AsyncMockStream>r   r   r   r   r   r@   r   s    zAsyncMockStream.__repr__)F)N)N)NN)r   r   r   rA   rB   rC   r   r   rD   r   rE   r.   r1   r_   rF   rG   r   r   r9   rH   r?   r@   r   r   r   r   r^   T   s     r^   c                   @   s   e Zd Zdeje eddddZdee	e
e e
e ej
eje  edddZdee
e ej
eje  ed	d
dZeddddZdS )AsyncMockBackendFNr   c                 C   s   || _ || _d S r   rJ   r%   r   r   r   r   w   s    zAsyncMockBackend.__init__rK   c                    s   t t| j| jdS rP   r^   rR   r#   r   rS   r   r   r   rT   {   s    zAsyncMockBackend.connect_tcprU   c                    s   t t| j| jdS rP   ra   rW   r   r   r   rX      s    z$AsyncMockBackend.connect_unix_socketrY   c                    s   d S r   r   r[   r   r   r   r\      s    zAsyncMockBackend.sleep)F)NNN)NN)r   r   r   rA   rB   rC   r   r   r   rD   r   rE   r]   r   r   rT   rX   r\   r   r   r   r   r`   v   s*        r`   )rF   rA   r   _exceptionsr   baser   r   r   r	   r
   r   r   rI   r^   r`   r   r   r   r   <module>   s   	""