
    <|h                         d dl Z 	 d dlmZ 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"                          yy# e$ r d dlZY mw xY w)
    N)request)DEFAULT_XPC_SOCKET_TIMEOUT)util)paramsz4Timing issues sometimes lead to a connection refusedc                   `    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y)Test_wsgiserverzwsgiserver.pyzhttp://z:8088i  s   <h1>Not Found</h1>NFc                 l   | j                   |z   }	 i }| j                  d| j                  i}t        j                  |d t        fi |}|j                  d|j                  |j                         f}|j                          |S # t        j
                  $ r t        j                         d   }Y iw xY w)Ncontext    )URLssl_ctxurllib2urlopenr   	HTTPErrorsysexc_infocodemsgreadclose)selfpathurlkwargsresponseresults         d/var/www/html/test/engine/venv/lib/python3.12/site-packages/gevent/tests/test__example_wsgiserver.pyr   zTest_wsgiserver.read   s    hho		)F||'#T\\2sD'A1)/1H
 %MM8<<8(--/I 	    	)||~a(H	)s   8B *B32B3c                 t    | j                  d      \  }}| j                  |d       | j                  |d       y )N/z200 OKs   <b>hello world</b>)r   assertEqualr   statusdatas      r   _test_hellozTest_wsgiserver._test_hello,   s4    yy~*45    c                     | j                  d      \  }}| j                  |d       | j                  || j                         y )Nz/xxxz404 Not Found)r   r!   not_found_messager"   s      r   _test_not_foundzTest_wsgiserver._test_not_found1   s:    yy(1t556r&   c                    | j                         5  | j                          t        j                  t        j
                  | j                  f      }d }| j                  r8t        j                         }|j                  |      }|j                  d      }n|j                  d      }|j                  d       |j                          | j                          |j                  d       |j                          |j                         }| j                  |d       |j!                          ||j!                          |j!                          d d d        y # 1 sw Y   y xY w)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-K-KTYY,WXDH}}..*"..t4$--5-9	 MMuM5	OO45OO
  OOG$OO%%'DT#@AOO# JJL?	 	 	s   D>EE!c                 $    | j                          y )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      sD    G$<<
>CD-GH$6
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    
)
  
 " 5  !JKI*doo I* LI*V zINN q  s   A. .	A:9A: