o
    D“hà	  ã                   @   sB   d dl T d dlT d dlT dd„ Zdd„ Zdd„ ZG dd	„ d	ƒZd
S )é   )Ú*c                 C   s>   g }	 |   ¡ }|ttfv r	 |S | |¡ t|ƒtu r	 |S q©N)Ú
next_eventÚ	NEED_DATAÚPAUSEDÚappendÚtypeÚConnectionClosed)ÚconnÚ
got_eventsÚevent© r   úL/var/www/html/env_mimamsha/lib/python3.10/site-packages/h11/tests/helpers.pyÚget_all_events   s   
ýùr   c                 C   s   |   |¡ t| ƒS r   )Úreceive_datar   )r
   Údatar   r   r   Úreceive_and_get   s   
r   c                 C   s~   g }| D ]8}t |ƒtu rt|jƒ|_d|_d|_|r7t |d ƒt |ƒ  u r*tu r7n n|d  j|j7  _q| |¡ q|S )NFéÿÿÿÿ)r   ÚDataÚbytesr   Úchunk_startÚ	chunk_endr   )Ú	in_eventsÚ
out_eventsr   r   r   r   Únormalize_data_events   s   (r   c                   @   s*   e Zd Zdd„ Zedd„ ƒZd	dd„ZdS )
ÚConnectionPairc                 C   s(   t tt ƒtttƒi| _t ttt i| _d S r   )ÚCLIENTÚ
ConnectionÚSERVERr
   Úother©Úselfr   r   r   Ú__init__,   s   zConnectionPair.__init__c                 C   s
   | j  ¡ S r   )r
   Úvaluesr    r   r   r   Úconns0   s   
zConnectionPair.connsÚmatchc           	      C   s¼   t |tƒs|g}d}d}|D ]}| j|  |¡}|d u rd}q||7 }q|r1| j| j|   |¡ |r>| j| j|   d¡ t| j| j|  ƒ}|dkrN|}t |tƒsV|g}||ks\J ‚|S )Nó    FTr%   )Ú
isinstanceÚlistr
   Úsendr   r   r   )	r!   ÚroleÚsend_eventsÚexpectr   ÚclosedÚ
send_eventÚnew_datar   r   r   r   r)   5   s(   


zConnectionPair.sendN)r%   )Ú__name__Ú
__module__Ú__qualname__r"   Úpropertyr$   r)   r   r   r   r   r   +   s
    
r   N)Ú_connectionÚ_eventsÚ_stater   r   r   r   r   r   r   r   Ú<module>   s    