o
    )Zh                     @   st   d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZmZ G dd	 d	eZdS )
    N)HTTP1Connection)HTTPMessageDelegate)IOStream)Event)add_accept_handler)AsyncTestCasebind_unused_portgen_testc                       s8   e Zd ZdZ fddZedd Zedd Z  ZS )HTTP1ConnectionTestNc                    s   t    |   d S N)supersetUp
asyncSetUpself	__class__ X/var/www/html/lang_env/lib/python3.10/site-packages/tornado/test/http1connection_test.pyr      s   
zHTTP1ConnectionTest.setUpc                 #   sx    t  \}}t   fdd}t|| tt _jj jd|f 	 gV  j
| |  d S )Nc                    s$   t | _jj    d S r   )r   server_stream
addCleanupcloseset)connaddreventr   r   r   accept_callback   s   
z7HTTP1ConnectionTest.asyncSetUp.<locals>.accept_callbackz	127.0.0.1)r   r   r   r   socketclient_streamr   r   connectwaitZio_loopZremove_handler)r   Zlistenerportr   r   r   r   r      s   

zHTTP1ConnectionTest.asyncSetUpc                 #   s    t | jd}| jd | j  t | g  G  fdddt}|| V   V  | 	| j
d | 	d d d S )NTs"   HTTP/1.0 200 Not Modified

helloc                       s0   e Zd ZfddZ fddZfddZdS )zCHTTP1ConnectionTest.test_http10_no_content_length.<locals>.Delegatec                    s   |j  _ d S r   )code)r   
start_lineheaders)testr   r   headers_received1      zTHTTP1ConnectionTest.test_http10_no_content_length.<locals>.Delegate.headers_receivedc                    s     | d S r   )append)r   data)bodyr   r   data_received4   s   zQHTTP1ConnectionTest.test_http10_no_content_length.<locals>.Delegate.data_receivedc                    s       d S r   )r   r   )r   r   r   finish7   r(   zJHTTP1ConnectionTest.test_http10_no_content_length.<locals>.Delegate.finishN)__name__
__module____qualname__r'   r,   r-   r   r+   r   r&   r   r   Delegate0   s    r2          s   hello)r   r   r   writer   r   r   Zread_responser!   ZassertEqualr#   join)r   r   r2   r   r1   r   test_http10_no_content_length$   s   


z1HTTP1ConnectionTest.test_http10_no_content_length)	r.   r/   r0   r#   r   r	   r   r7   __classcell__r   r   r   r   r
      s    
r
   )r   typingZtornado.http1connectionr   Ztornado.httputilr   Ztornado.iostreamr   Ztornado.locksr   Ztornado.netutilr   Ztornado.testingr   r   r	   r
   r   r   r   r   <module>   s    