
    <|h                     (   d dl Z d dlmZ d dlZd dlmZ d dlmZ d Z G d dej                        Z
dj                  dd	      Zd
j                  dd	      Zdj                  dd	      Z G d dej                        Z G d dej                         Z G d dej"                        Z G d dej$                        Z G d dej&                        Z G d dej(                        Z G d dej*                        Zedk(  r ej.                          yy)    N)pywsgi)test__serverc                    | d   dk(  r |dg        dgS | d   dk(  r |dg        dgS | d   dk(  r t        j                  d        |dg        g S | d   dk(  r t        j                  d	        |dg        g S  |d
g        g S )N	PATH_INFO/z200 OKs   PONGz/pingz/shortg      ?z/long
   z404 pywsgi WTF?)geventsleep)environstart_responses     _/var/www/html/test/engine/venv/lib/python3.12/site-packages/gevent/tests/test__server_pywsgi.pyapplicationr   
   s    {s"x$y{w&x$y{x'Sx$	{w&Rx$	$b)I    c                       e Zd Z ee      Zy)SimpleWSGIServerN)__name__
__module____qualname__staticmethodr    r   r   r   r      s    {+Kr   r   s#   HTTP/1.1 500 Internal Server Error
   
s   
s   

Internal Server Errors   HTTP/1.1 503 Service Unavailable
Connection: close
Content-type: text/plain
Content-length: 31

Service Temporarily Unavailablec                       e Zd Zej                  ZeZdZdZ	dZe
d        Ze
d        Ze
d        Ze
d        Ze
d        Zy)	SettingsTFc                 <   | j                         5 }|j                  d       |j                         }| j                  |j	                  t
              |t
        f       | j                  |j                  t              |t        f       d d d        y # 1 sw Y   y xY wNs   GET / HTTP/1.0

)makefilewriteread
assertTrue
startswithinternal_error_startendswithinternal_error_endinstconnresults      r   	assert500zSettings.assert5004   s~    ]]_ 	:JJ01YY[FOOF--.BC#%9:<OOFOO,>?#%78:	: 	: 	:s   A8BBc                     | j                         5 }|j                  d       |j                         }| j                  |t               d d d        y # 1 sw Y   y xY wr   )r   r   r   assertEqualinternal_error503r$   s      r   	assert503zSettings.assert503>   sK    ]]_ 	8JJ01YY[FV%67	8 	8 	8s   8AAc                     | j                  t        j                        5  | j                          d d d        y # 1 sw Y   y xY wN)assertRaisessockettimeoutassertRequestSucceeded)r%   s    r   assertPoolFullzSettings.assertPoolFullE   s5    v~~. 	*'')	* 	* 	*s	   :Ac                     | j                         5 }|j                         }| j                  |       d d d        y # 1 sw Y   y xY wr.   )r   r   assertFalser$   s      r   assertAcceptedConnectionErrorz&Settings.assertAcceptedConnectionErrorJ   s;    ]]_ 	%YY[FV$	% 	% 	%s	   "<Ac                     t         j                  j                  | |      }|j                  dt	        j
                                |S )Nlog)r   r   fill_default_server_args
setdefaultr   _NoopLog)r%   kwargss     r   r9   z!Settings.fill_default_server_argsP   s6    &&??fM%!23r   N)r   r   r   r   
WSGIServerServerClassr   ServerSubClassclose_socket_detectedrestartabler   r(   r,   r3   r6   r9   r   r   r   r   r   -   s    ##K%N K!: : 8 8 * * % %
  r   r   c                       e Zd ZeZy)TestCaseNr   r   r   r   r   r   r   rC   rC   W       Hr   rC   c                       e Zd ZeZy)TestDefaultSpawnNrD   r   r   r   rG   rG   Z   rE   r   rG   c                       e Zd ZeZy)TestSSLSocketNotAllowedNrD   r   r   r   rI   rI   ]   rE   r   rI   c                       e Zd ZeZy)TestRawSpawnNrD   r   r   r   rK   rK   `   rE   r   rK   c                       e Zd ZeZy)TestSSLGetCertificateNrD   r   r   r   rM   rM   c   rE   r   rM   c                       e Zd ZeZy)TestPoolSpawnNrD   r   r   r   rO   rO   f   rE   r   rO   __main__)r0   gevent.testingtesting	greentestr	   r   gevent.testsr   r   r=   r   replacer!   r#   r+   r   rC   rG   rI   rK   rM   rO   r   mainr   r   r   <module>rW      s    "   %(,v(( , ?FFugV 199%I #
 $+75'#: '|$$ 'T|$$ |44 lBB <,, L>> L..  zINN r   