
    i                         d dl Z 	 d dlmZ n# e$ r d dlZY nw xY w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  e	j        d           G d dej                              Zed	k    r e	j                     dS dS )
    N)request)DEFAULT_XPC_SOCKET_TIMEOUT)util)paramsz4Timing issues sometimes lead to a connection refusedc                   X    e Zd ZdZdej        dZdZdZdZ	dZ
dd	Zd
 Zd Zd Zd ZdS )Test_wsgiserverzwsgiserver.pyzhttp://z:8088i  s   <h1>Not Found</h1>NF/c                 B   | j         |z   }	 i }| j        	d| j        i}t          j        |d t          fi |}n.# t          j        $ r t          j                    d         }Y nw xY w|j        d|j	        |
                                f}|                                 |S )Ncontext    )URLssl_ctxurllib2urlopenr   	HTTPErrorsysexc_infocodemsgreadclose)selfpathurlkwargsresponseresults         P/usr/local/lib/python3.11/dist-packages/gevent/tests/test__example_wsgiserver.pyr   zTest_wsgiserver.read   s    ho		)F|'#T\2sD'A1 1)/1 1HH   	) 	) 	)|~~a(HHH	)$MMM8<<8(--//I 	s   +8 (A#"A#c                     |                      d          \  }}|                     |d           |                     |d           d S )Nr	   z200 OKs   <b>hello world</b>)r   assertEqualr   statusdatas      r   _test_hellozTest_wsgiserver._test_hello,   sH    yy~~***455555    c                     |                      d          \  }}|                     |d           |                     || j                   d S )Nz/xxxz404 Not Found)r   r!   not_found_messager"   s      r   _test_not_foundzTest_wsgiserver._test_not_found1   sL    yy((111t566666r&   c                 *   |                                  5  |                                  t          j        t          j        | j        f          }d }| j        r?t          j	                    }|
                    |          }|                    d          }n|                    d          }|                    d           |                                 |                                  |                    d           |                                 |                                }|                     |d           |                                 ||                                 |                                 d d d            d S # 1 swxY w Y   d S )Nrwb)modes   GET /xxx HTTP/1.0
s   
s   HTTP/1.1 404 Not Found
)running_serverr%   socketcreate_connectionr   DEFAULT_LOCAL_HOST_ADDRPORT_use_sslssl
SSLContextwrap_socketmakefilewriteflushreadliner!   r   )r   sockssl_sockr   	sock_filelines         r   _do_test_a_blocking_clientz*Test_wsgiserver._do_test_a_blocking_client6   s      "" 	 	 +V-KTY,WXXDH} 6.**"..t44$--5-99		 MMuM55	OO4555OO
  OOG$$$OO%%''DT#@AAAOO#   JJLLL?	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   E&FFFc                 .    |                                   d S )N)r>   )r   s    r   test_a_blocking_clientz&Test_wsgiserver.test_a_blocking_clientZ   s    '')))))r&   )r	   )__name__
__module____qualname__exampler   r0   r   r1   r(   r   r2   r   r%   r)   r>   r@    r&   r   r   r      s        GG$<<<
>CD-GH   $6 6 6
7 7 7
" " "H* * * * *r&   r   __main__)r   urllibr   r   ImportErrorr.   r3   gevent.testingtesting	greentestr   r   r   skipOnCI
TestServerr   rA   mainrE   r&   r   <module>rO      s&   



)))))))   NNNNN  



 " " " " " " 5 5 5 5 5 5       ! ! ! ! ! !JKKI* I* I* I* I*do I* I* LKI*V zIN s    	