U
    	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   Z/var/www/html/apigroqsegura/apigroq/lib/python3.8/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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   r7   r8   r)   r   r   r   	start_tls*   s    zMockStream.start_tlsinfor   c                 C   s   |dkrt | jdS d S N
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/   r2   r5   ssl
SSLContextr   r
   r:   AnyrA   rB   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   rN   rO   r)   rP   rQ   r   r   r   connect_tcp>   s    zMockBackend.connect_tcppathr)   rQ   r   c                 C   s   t t| j| jdS rR   rS   r   rX   r)   rQ   r   r   r   connect_unix_socketH   s    zMockBackend.connect_unix_socketsecondsr   c                 C   s   d S r   r   r   r\   r   r   r   sleepP   s    zMockBackend.sleep)F)NNN)NN)r   r   r   rC   rD   rE   r   r   r   rF   r   rG   Iterabler   r
   rV   rZ   r^   r   r   r   r   rK   9   s*        rK   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.readr0   c                    s   d S r   r   r1   r   r   r   r2   a   s    zAsyncMockStream.writer   c                    s
   d| _ d S r3   r4   r   r   r   r   aclosed   s    zAsyncMockStream.acloser6   c                    s   | S r   r   r9   r   r   r   r:   g   s    zAsyncMockStream.start_tlsr;   c                 C   s   |dkrt | jdS d S r=   r?   r@   r   r   r   rA   o   s    zAsyncMockStream.get_extra_infoc                 C   s   dS )Nz<httpcore.AsyncMockStream>r   r   r   r   r   rB   r   s    zAsyncMockStream.__repr__)F)N)N)NN)r   r   r   rC   rD   rE   r   r   rF   r   rG   r/   r2   ra   rH   rI   r   r   r:   rJ   rA   rB   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   rL   r&   r   r   r   r   w   s    zAsyncMockBackend.__init__rM   c                    s   t t| j| jdS rR   r`   rT   r$   r   rU   r   r   r   rV   {   s    zAsyncMockBackend.connect_tcprW   c                    s   t t| j| jdS rR   rc   rY   r   r   r   rZ      s    z$AsyncMockBackend.connect_unix_socketr[   c                    s   d S r   r   r]   r   r   r   r^      s    zAsyncMockBackend.sleep)F)NNN)NN)r   r   r   rC   rD   rE   r   r   r   rF   r   rG   r_   r   r   rV   rZ   r^   r   r   r   r   rb   v   s*        rb   )rH   rC   r   _exceptionsr   baser   r   r   r	   r
   r   r   rK   r`   rb   r   r   r   r   <module>   s   	""