403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.146
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python315/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python315/Lib/test/__pycache__/test_wsgiref.cpython-315.pyc
R
>lqj�c�B�]QHGs]QHGs]QHGsGsGs]QH G	s	]QHG
s
]QH,Gs]QH4Gs]QH<GsGsGs]Q	HLGs]Q
HTGs]QH\GsGs]QH\Gs]Q
HlGs]QHtGsGsG s ]QH�G"s"]QH�G$s$]PH�s%]PH�s&]PH�s']PH�s(]PH�s)]PHsQQ\2s*QQ\2s+Qs,Qs-\,Q1Qks.Qs/QQ\
2s0QQ\
2s1QQ\
2s2Q Q!\2s3Q"Q#\32s4Q$Q%\
2s5Q&Q'\O2s6\7Q(6Xc\Op2P!P!))�)�mock)�support)�force_not_colorized�
socket_helper�control_characters_c0)�NoLogRequestHandler)�TestCase)�setup_testing_defaults)�Headers)�BaseHandler�BaseCGIHandler�
SimpleHandler)�util)�	validator)�
WSGIServer�WSGIRequestHandler)�make_server)�HTTPConnection)�StringIO�BytesIO�BufferedReader)�
BaseServer)�python_implementationc�2`�\sQs]snQsQsQsQsUsP!)�
MockServerzNon-socket HTTP serverc�V�[OVU2UO2P!�N)r�__init__�server_bind)�self�server_address�RequestHandlerClasss&&&�&C:\Python315\\Lib\test\test_wsgiref.pyr�MockServer.__init__s�����D�2E�F�����c�\�UOvqVmV mUO2P!r)r �server_name�server_port�
setup_environ)r�host�ports&  r"r�MockServer.server_bind!s'���(�(�
���������r$)r&r')	�__name__�
__module__�__qualname__�__firstlineno__�__doc__rr�__static_attributes__�__classdictcell__��
__classdict__s@r"rrs���� ���r$rc�2`�\sQs](snQsQsQsQsUsP!)�MockHandlerzNon-socket HTTP handlerc�\�UOUmUOvUmUmP!r)�request�
connection�rfile�wfile�rs&r"�setup�MockHandler.setup*s���,�,���!%�����
�D�Jr$c��P!r�r<s&r"�finish�MockHandler.finish.s��r$)r9r:r;)	r,r-r.r/r0r=rAr1r2r3s@r"r6r6(s����!�1�
�
r$r6c� �UQQQ,2Q,!)�200 OK�
Hello, world!��Content-Typez
text/plain��DatezMon, 05 Jun 2006 18:49:54 GMTr@��environ�start_responses&&r"�	hello_apprM2s"���8�%�0���
��r$c��UQQQ,2QOUQ*UQ*UQ*,2OQ2,!)rD�;�HTTP_X_TEST_HEADER�QUERY_STRING�	PATH_INFO�
iso-8859-1rFrH)�join�encoderJs&&r"�
header_apprV:sX���8�&�1���
�H�H��$�%�w�~�'>�����
��v�l���r$sGET / HTTP/1.0

c�V�[P]PU[[2o[[	U22o[	2o[
Oo[29o[
mUOV41Q2U[
mUO2UO21!S[
mh9h)�)�	127.0.0.1i�")
rrr6rr�sys�stderrr�finish_request�getvalue)�app�data�server�inp�out�olderr�errs&&     r"�	run_amockreEs���
��R��j�+�
>�F�
����
'�C�
�)�C�
�Z�Z�F��z�!�C�#�*�����s�j�*<�=���
��<�<�>�3�<�<�>�)�)����
�s�B�
B(c���U2o[U2UIf[gSFDo[U2U6XcJ[g	[U2[QU2g[cP!h9h)z�Utility to compare a generic iterator with an iterable

This tests the iterator using iter()/next().
'make_it' must be a function returning a fresh
iterator to be tested (since this may test the iterator twice).zToo many items from .__next__())�iter�AssertionError�next�
StopIteration)�make_it�match�it�items&&  r"�compare_generic_iterroTsi��
��B���8�r�>������B�x�4�� � ��D��R���>��C�C���
��
�s�A�	A%� A%�$A%c�r`�\sQs]isnQ
QksQsQsQsQsQs	Qs
Qs\Q	2s
Q
sQsQsUsP!)�IntegrationTestsc� �[2Q*[OO2]**oSO	SQU*Q*S9%cQ9%fP*Q*OQ22P!)�/z$HTTP/1.0 200 OK
Server: WSGIServer zA
Content-Type: text/plain
Date: Mon, 05 Jun 2006 18:49:54 GMT
zContent-Length: 13
z
Hello, world!rS)rrZ�version�split�assertEqualrU)rrb�
has_length�pyvers&&& r"�check_hello�IntegrationTests.check_helloks���&�(�3�.����!�!�#�A�&�'������"�$)�*�-6�6��
5�
5�5�
;�
;��	=�

��$�V�L�1�	
r$c�B�[2vqUOU2P!r)rery�rrbrds&  r"�test_plain_hello�!IntegrationTests.test_plain_helloxs���;�������r$c�~�Qo[[U2vq#UOUO2P*Q2P!)smGET /p%61th/?query=test HTTP/1.0
X-Test-Header: Python test 
X-Test-Header: Python test 2
Content-Length: 0

s+Python test,Python test 2;query=test;/path/)rerVrv�
splitlines)rr8rbrds&   r"�test_environ�IntegrationTests.test_environ|s<��
%�	��Z��1�������N�N��R� �:�	
r$c��[QQQ**Q*Q5vqUOUO2]*Q2P!)sGET �xis HTTP/1.0

�r_sHTTP/1.0 414 URI Too Long)rervr�r|s&  r"�test_request_length�$IntegrationTests.test_request_length�s<���'�T�E�\�":�=M�"M�N���������)�!�,�5�	7r$c�b�[[[22vqUOUP
Q5P!)F)rw)rerrMryr|s&  r"�test_validated_hello�%IntegrationTests.test_validated_hello�s&���Y�y�1�2���������/r$c��Qo[[U22vq#UOUQ2UOUO	2Q*Q2P!)c��UQQ2Q,!)rDz
Hello, world!rFr@rJs&&r"�bad_app�>IntegrationTests.test_simple_validation_error.<locals>.bad_app�s���8�%B�C�#�$�$r$�;A server error occurred.  Please contact the administrator.z^AssertionError: Headers (('Content-Type', 'text/plain')) must be of type list: <class 'tuple'>����rer�assertEndsWithrvr��rr�rbrds&   r"�test_simple_validation_error�-IntegrationTests.test_simple_validation_error�sQ��	%��Y�w�/�0������C�J�	
�	
����N�N��R� �
0�	
r$c	�4�Qo,QNoSFDtvq4UOUQ59^tt^2[UU22vqVUOUQ2UOUO	2Q*U2PPP2Jv	P!)%fhJ�9h)c�`�U1QkoU!)c� :�URQ,2Q,!)rGrE�rGztext/plain; charset=utf-8r@)rKrL�statuss&&�r"r��WIntegrationTests.test_status_validation_errors.<locals>.create_bad_app.<locals>.bad_app�s����v�(U�'V�W�(�)�)r$r@)r�r�sf r"�create_bad_app�FIntegrationTests.test_status_validation_errors.<locals>.create_bad_app�s���
*��Nr$)r�r�))�200z4AssertionError: Status must be at least 4 characters)z20X OKz8AssertionError: Status message must begin w/3-digit code)�200OKz;AssertionError: Status message must have a space after coder�)�subTestrer�rvr�)rr��testsr��exc_messagerbrds&      r"�test_status_validation_errors�.IntegrationTests.test_status_validation_errors�s���	�
��$)��F����V��,�,�$�^�F�%;�<����#�#�C�R��� � ����!1�"�!5�{�C�-�,�$)�,�,�,�s�A
B	�B
�B
c��Qo[[U22vq#UOUQ2UOUO	2Q*Q2P!)c�L�UQ*O2UQQ,2Q,!)�
wsgi.inputrD�datar�)�read��e�ss&&r"r��1IntegrationTests.test_wsgi_input.<locals>.bad_app�s(��
�l�O� � �"�
�h�F�G�H��9�r$r�rhr�r�r�s&   r"�test_wsgi_input� IntegrationTests.test_wsgi_input�sO��	��Y�w�/�0������C�J�	
�	
����N�N��R� �"2�	
r$c�X�Qo[[U22vq#UOUQ2[OO2]*O
Q2o[2O
Q2oUQ*U*oUOQU*Q*U2P!)c� �UQQQ,2Q,!)rDr�r��rIzWed, 24 Dec 2008 13:29:32 GMTr@r�s&&r"r^�3IntegrationTests.test_bytes_validation.<locals>.app�s!��
�h�=�9��
��9�r$z"GET / HTTP/1.0" 200 4
�ascii�/s$HTTP/1.0 200 OK
Server: WSGIServer sV
Content-Type: text/plain; charset=utf-8
Date: Wed, 24 Dec 2008 13:29:32 GMT

data)	rerr�rZrtrurUrrv)rr^rbrd�ver�pyrxs&      r"�test_bytes_validation�&IntegrationTests.test_bytes_validation�s���	��Y�s�^�,������C�!;�<��k�k���!�!�$�+�+�G�4��#�%�,�,�W�5���T�	�C������'�).�/�2���	r$c��Qo[[U2QQ5vq#UOQ[OQQQQ,UO22P!)c�L�UQQQ,2UQ*OQ2,!)rDrR�latin1rFr��rUr�s&&r"r^�-IntegrationTests.test_cp1252_url.<locals>.app�s1��
�h�.�9��
��k�N�)�)�(�3�4�4r$sGET /�%80 HTTP/1.0r�sHTTP/1.0 200 OKsContent-Type: text/plains#Date: Wed, 24 Dec 2008 13:29:32 GMTr$s/��)rerrvr�ANYr�)rr^rbrds&   r"�test_cp1252_url� IntegrationTests.test_cp1252_url�sT��	5���c�N�!9�;������"����+�6���

�
�N�N��		r$c��```	`
`�[O[Q2n	QoQQ[[2o[[O]VQ5nUORO2[O2nU1Qko[O[OU2oUO[O[OU2Pn
[O2nUUU	U
U1Qko[OUQ5oUO2RO!2UO#2UO%R
[O&]d*
2P!)�pthread_killc�F�UQ,2Q[O*,!)rD�)r�
SOCK_MAX_SIZErJs&&r"r^�4IntegrationTests.test_interrupted_write.<locals>.app�s ���8�R�(��G�1�1�1�2�2r$c��\sQs]�sQsP!)�<IntegrationTests.test_interrupted_write.<locals>.WsgiHandlerr@�r,r-r.r/r1r@r$r"�WsgiHandlerr�����r$r�)�
handler_classc�*:�RO2P!r)�set)�signum�frame�interrupteds&&�r"�signal_handler�?IntegrationTests.test_interrupted_write.<locals>.signal_handlers
����O�O�r$c�:�[ROoUOQQ2UO29^tt^2oUO	]d2RR[
O2RO[]2Q5%fJ;[UO	22nPPP2UO2P!)%fhK"9h)�GETrs)�timeout)rr r8�getresponser��signal�SIGUSR1�wait�float�len�close)�http�responser��main_threadr��receivedr`s  �����r"�
run_client�;IntegrationTests.test_interrupted_write.<locals>.run_client	s����!�6�#8�#8�9�D��L�L���$��!�!�#�#�x��
�
�c�"�� ��f�n�n�=�"�'�'��a��'�9�9���x�}�}��/��$�
�J�J�L�$�#�s�AC�C�C	�C	)�target)r�
get_attributer�rrrr�HOST�
addCleanup�server_close�	threading�Eventr��	get_ident�Thread�start�handle_requestrTrvr�)rr^r�r��originalr��
backgroundr�r�r�r�r`s&      @@@@@r"�test_interrupted_write�'IntegrationTests.test_interrupted_write�s�����,�,�V�^�D��	3�	�-�/A�	��]�/�/��C�S������+�+�,��o�o�'��	��=�=�����@������
�
�v�~�~�x�@����)�)�+��	�	�$�%�%�Z�8�
�����������������7�#8�#8�3�#>�?r$r@)T)r,r-r.r/ryr}r�r�r�r�r�r�rr�r�r�r1r2r3s@r"rqrqisS����
��
�7�
0�

�D�*
�����*�./@�/@r$rqc�`�\sQsQsnQsQQksQsQsQQksQs	Qs
Q	sQ
sQs
QsQ
sQsQsQsQsUsP!)�UtilityTests�"c���QUQU-o[OU2UO[OU2U2UOUQ*U2UOUQ*U2U!��SCRIPT_NAMErR)rr	rv�shift_path_info)r�sn_in�pi_in�part�sn_out�pi_out�envs&&&&&& r"�
checkShift�UtilityTests.checkShift$sh���U�;�u�5���#�#�C�(�����-�-�c�2�4�8�����[�)�&�1�����]�+�F�3��
r$c��-o[OU2[U[2%cUO	VA*[2LK[U[
2%cUO	VA*[
2LUO
VA*U2V-o[OU2UOVA*U2P!r)rr	�
isinstancer�assertIsInstancerrv�assertIs)r�key�value�altrs&&&& r"�checkDefault�UtilityTests.checkDefault,s������#�#�C�(��e�X�&�&��!�!�#�(�H�5�
��g�
&�
&��!�!�#�(�7�3����S�X�u�-��i���#�#�C�(��
�
�c�h��$r$c�d�[OU2UOV1*U2P!r)rr	rv)rrr�kws&&&,r"�checkCrossDefault�UtilityTests.checkCrossDefault<s"���#�#�B�'�������'r$c��[OU2UO[OU2U2P!r)rr	rv�application_uri)r�urir
s&&,r"�checkAppURI�UtilityTests.checkAppURI@s+���#�#�B�'�����-�-�b�1�#�6r$c��[OU2UO[OV22U2P!r)rr	rv�request_uri)rr�queryr
s&&&,r"�checkReqURI�UtilityTests.checkReqURIDs+���#�#�B�'�����)�)�"�3�C�8r$c�J�V1Qko[VC2U2oUOUOO2SFDoJ	UOUOO2UO	2UOUOO2P!)c�D�[O[U2U2!r)r�FileWrapperr)�text�sizes&&r"rk�%UtilityTests.checkFW.<locals>.make_itJs���#�#�H�T�N�4�8�8r$)ro�assertFalse�filelike�closedr��
assertTrue)rrrrlrkrmrns&&&&   r"�checkFW�UtilityTests.checkFWHsy���	9�	�W�+�
�Y��������+�+�,��D���	
������+�+�,�
���
�������*�*�+r$c���UOPQPQP2UOPQQQP2UOQPPQP2UOQQQQQ2UOQQQQQ2P!)	rXrsz/x�x�/az/x/yz/a/x�/yz/x/�rr<s&r"�testSimpleShifts�UtilityTests.testSimpleShiftsZsf������3��C��,�����4��d�B�/�����B��c�2�.�����V�S�&�$�7�����U�S�&�#�6r$c���UOQQQQQ2UOPQQPQ2UOQQQQP2UOQQQQQ	2UOQQ
QQP2UOQQQQQ	2UOQQQQQ
2UOQQPQP2UOQQPQP2UOQQQQQ	2UOQQPQP2P!)z/a/bz/../yz..r(r)z//y�yz/a/b/yz//y/rsz/./yz/./y/z///./..//y/.//z/y/z///z/a/b/z/.//z/x//r'z/a/b/xz/.r*r<s&r"�testNormalizedShifts�!UtilityTests.testNormalizedShiftsas���������t�T�:�����G�T�2�t�4������s�H�b�9�������X�s�;�������X�r�:�������h��<����� 0�$��e�D������r�7�B�7�������G�R�8�������X�s�;������d�F�B�7r$c��QQQQQQQ	Q
QQQ
Q[21Q[21Q1FDvqUOV2J	P!)�SERVER_NAMEr��wsgi.errors)r2rY)�SERVER_PORT�80)�SERVER_PROTOCOL�HTTP/1.0)�	HTTP_HOSTrY)�REQUEST_METHODr�)r�rX)rRrs)�wsgi.version��r)�
wsgi.run_oncer)�wsgi.multithreadr)�wsgi.multiprocessr)�wsgi.url_schemer�)rrr
)rrrs&  r"�testDefaults�UtilityTests.testDefaultsnsX��'�!�*�%�$���#� �#�$�
�7�9�%�
�H�J�'�&�
�J�C� 
���c�(�!
r$c� �UOQQQQ5UOQQQQ5UOQQQQ5UOQQQQ5UOQQ	Q
Q5UOQQQ
Q5UOQQ
QQ5P!)r8zfoo.bar�r2r@�https�on��HTTPS�1�yesr��foor4r5�443)rr<s&r"�testCrossDefaults�UtilityTests.testCrossDefaults�s������{�9���K����0��t��D����0��s��C����0��u��E����0��e��D����}�T���>����}�U���>r$c��UO[O-2Q2UO[OQQ-2Q2UO[OQQ-2Q2UO[OQQ-2Q2UO[OQQ-2Q2P!)r�rHrKrFrErJrI)rvr�guess_schemer<s&r"�testGuessScheme�UtilityTests.testGuessScheme�s�������*�*�2�.��7�����*�*�G�E�?�;�V�D�����*�*�G�D�>�:�G�D�����*�*�G�E�?�;�W�E�����*�*�G�C�=�9�7�Cr$c�:�UOQ2UOQQQ5UOQQQ5UOQQQQ	5UOQ
QQ5UOQQ
QQ5UOQQQ5UOQQPQ5P!)�http://127.0.0.1/�http://127.0.0.1/spam�/spam�r��http://127.0.0.1/sp%E4m�/spämzhttp://spam.example.com:2071/zspam.example.com:2071�2071)r8r4zhttp://spam.example.com/zspam.example.comrDrY)r8r2zhttps://127.0.0.1/rFrGzhttp://127.0.0.1:8000/�8000)r4r8)rr<s&r"�testAppURIs�UtilityTests.testAppURIs�s������,�-����0�g��F����2�
��K����8�-�6�	�	C����3�*�	�	,����,�!�/A�	�	C����-�T��:����1�v��	�	r$c��UOQ2UOQQQ5UOQQQ5UOQQQQ5UOQ	QQQ5UOQ
QQQ5UOQQQ
Q5UOQQQQQ5UOQQQQQ5UOQ]QQQQ5P!)rTrUrVrWrXrYzhttp://127.0.0.1/spammity/spamz	/spammityr�z http://127.0.0.1/spammity/sp%E4mz"http://127.0.0.1/spammity/spam;hamz	/spam;hamz/http://127.0.0.1/spammity/spam;cookie=1234,5678z/spam;cookie=1234,5678z%http://127.0.0.1/spammity/spam?say=nizsay=ni)r�rRrQz'http://127.0.0.1/spammity/spam?s%E4y=nizs%E4y=ni)rr<s&r"�testReqURIs�UtilityTests.testReqURIs�s�����,�-����0�g��F����2�
��K����9�#�w�	�	8����;�#�z�	�	;����=�#�{�	�	<����J�#�/G�	�	I����@�#�w�H�	�	N����B�#�w�J�	�	P����9�1�#�w�H�	�	Nr$c�2�UOQ]xQQ,2P!)�xyzږxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz�xxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyzxyz�xyzxyzxyzxyzxyzxyzxyzxyzxyzxyz)r$r<s&r"�testFileWrapper�UtilityTests.testFileWrapper�s�����X�s�X�h�$7�8r$c	���QO2FD_oVO2UO2UO21FD(oUO	[
OU22J*	Ja	QO2FD_oVO2UO2UO21FD(oUO[
OU22J*	Ja	P!)zbConnection Keep-Alive Proxy-Authenticate Proxy-Authorization TE Trailers Transfer-Encoding Upgradez4Accept Cache-Control Date Pragma Trailer Via Warning)ru�title�upper�lowerr#r�
is_hop_by_hopr )r�hopr	s&  r"�testHopByHop�UtilityTests.testHopByHop�s���
4�
�%�'��C��I�I�K�����c�i�i�k�A������ 2� 2�3� 7�8�B�	�
C�
�%�'��C��I�I�K�����c�i�i�k�A��� � ��!3�!3�C�!8�9�B�r$r@r)r<)r,r-r.r/rr
rrrr$r+r/rArMrQr\r_rfrnr1r2r3s@r"r�r�"sW�����%� (�7�9�,�$7�8�)�&?�D��N�&9�
:�
:r$r�c�:`�\sQsQsnQsQsQsQsQsUs	P!)�HeaderTests��c���Q
,oUO[[22]2UO[[,22]2UO[[UQ*22]2UO[UQ*2O2Q,2UO[UQ*2O	2Q,2UO[UQ*2O2U2UO
[U2O2U2[2oUQQUQ$UOUOUOUO1FD_oUOUQ22UOUQ22UOUQ22UOUQ22Ja	UOUQ*Q2QUQ$UOUQ*Q2UOUOQ2Q,2UOUOQQ2Q2UOUOQ	Q2Q2UOUOQQ2Q2UOUOQ	Q2Q2UOUQ*Q2UOUQ	*Q2P!)r'r.:NNNrK�bar�Foo�FOO�baz�whee�zoo�r'r.)rvr�r
�keys�values�items�assertIsNot�__contains__�get�get_all�__getitem__r#r �
setdefault)r�test�h�ms&   r"�testMappingInterface� HeaderTests.testMappingInterface�s<���{������W�Y���+�����W�R�[�)�!�,�����W�T�!�W�-�.�q�1������a��)�.�.�0�3�%�8������a��)�0�0�2�S�E�:������a��)�/�/�1�4�8�������,�,�.��5��I��
�e�H���%���������	�	�1�=�=�@�A��O�O�A�e�H�%��O�O�A�e�H�%��O�O�A�e�H�%����Q�u�X�&�	A�	
����5��%�(���%������5��%�(�������5�)�5�'�2�������u�V�,�e�4�������u�V�,�f�5�������e�F�3�U�;�������e�F�3�V�<�����5��%�(�����5��&�)r$c�>�UO[[Q2P!)rK)�assertRaises�	TypeErrorr
r<s&r"�testRequireList�HeaderTests.testRequireList�s�����)�W�e�4r$c��[2oUO[U2Q2UOQQQQ5UOUQ*Q2UO[U2Q2UOQQPQ5UOUO	Q2QQ	,2UO[U2Q
2P!)z
rKrt�spam)rwzbar; baz="spam"zfoo: bar; baz="spam"

ru)�cheesezbar; cheesez*foo: bar; baz="spam"
Foo: bar; cheese

)r
rv�str�
add_headerr��rr�s& r"�
testExtras�HeaderTests.testExtras�s����I������Q���'�	���U�5�V��,�����5��#4�5�����Q�� >�?�	���U�5���-�������5�)�
�
�.�	0�	
����Q��
�	
r$c��[2FCD)oUOU29^tt^2[2oUO[UO
QU0Q2UO[UOQU0QQQ5UQ6Xc4QU0UQ$UO
QQU02UOQQU02LsUO[UO
QQU02UO[UOQQU0QQ5UO[UOQQQU0Q5PPP2CJ,	P!)%fhCJB9h)r�val�param)r��	)rr�r
r��
ValueError�__setitem__r�r�)r�c0�headerss&  r"�testRaisesControlCharacters�'HeaderTests.testRaisesControlCharacters�s6��'�)�)�B����b�!�!�!�)���!�!�*�g�.A�.A�S���:�u�U��!�!�*�g�.@�.@�C��t�*�e�[b�!�c���:�'*�2�$�Z�G�E�N��&�&�u��B�4�j�9��&�&���R�D�z�:��%�%�j�'�2E�2E�u�PS�TV�SW�j�Y��%�%�j�'�2D�2D�e�s�SU�RV�Z�_f�%�g��%�%�j�'�2D�2D�e�U�\a�bd�ae�Zf�%�g�"�!�*�!�!�!�s�AD=	�B&D=	�=E
�E
r@)
r,r-r.r/r�r�r�r�r1r2r3s@r"rqrq�s!����*�@5�
�$h�hr$rqc�l`�\sQsQsnQs\\OO22s	Qs
QsUsP!)�ErrorHandler�z/Simple handler subclass for testing BaseHandlerc
��[U2[OU[2[2[	2UP	P	Q5P!)T)�multithread�multiprocess)r	rrrr)rr
s&,r"r�ErrorHandler.__init__s.���r�"�����'�)�W�Y��
�B��4�	
r$r@)
r,r-r.r/r0�dict�osrKr}�
os_environrr1r2r3s@r"r�r�s+����9�
�b�j�j�&�&�(�)�J�
�
r$r�c�,`�\sQsQsnQsQsQsUsP!)�TestHandler�zASimple handler subclass for testing BaseHandler, w/error passthruc��grr@r<s&r"�handle_error�TestHandler.handle_errors��
r$r@)r,r-r.r/r0r�r1r2r3s@r"r�r�s����K��r$r�c�z`�\sQsQsnQsQsQsQsQsQs	Qs
QsQ	sQ
s
QsQsQ
sQsQsQsUsP!)�HandlerTests�!c��QQQQQQQQQQ	-o[O[Q
U29^tt^2[QQQ
5oUO2PPP2QFD>oUO	[WQU*2UOQU**2J@	-o[U2UO2FDvqVVT7fJ
VdU$J	UOQQQQQPQQQWO2QUO2QQQP
QQQP	QP	Q[O-2UOUOU2P!)%fhK�9h)�HOMEz/my/home�PATHz/my/path�LANGzfr_FR.UTF-8r��test_script_namer2�test_server_namer��Yz/override/home)�Xr��wsgi_zwsgi.r�rYr�r3r:r=r@r�r>r?zwsgi.file_wrapper)rtr�r��run_once�file_wrapperr;)r�	swap_attrr�r(rv�getattrrKr	r}�update�	get_stdin�
get_stderrrr�assertDictEqual)rr��handler�attr�expectedrrs&      r"�testEnviron�HandlerTests.testEnviron%sU��
�J��J��M�
�-��-�	
�
��
�
�{�L�*�
E�
E�!�C�.>�?�G��!�!�#�F�%�D����W�W�g��n�=�$�_�_�W�t�^�<�
>�%����x�(�%�*�*�,�J�C��"� %��
�-�	������$�
�2��;�
�'�+�+�-��7�-�-�/��F��U��v�������!1�!1�%
�	�(	
���W�_�_�h�7�QF�
E�s�E�E	�
E	c��[PPP-2oUO2QFDoUOV!O2J 	P!)N)r@r�r3)rr(�assertInrK)rr�rs&  r"�testCGIEnviron�HandlerTests.testCGIEnviron[s7���4��T�"�-��	����A�C��M�M�#�y�y�)�Br$c��[QQ5pO2UOUOQ*Q2[2pO2UOUOQ*Q2P!)rFrGr@rEr�)r�r(rvrKr�s& r"�
testScheme�HandlerTests.testSchemeasU��
�D�
!��?�?�#4�������#4�5�g�>�
�-����*�������#4�5�f�=r$c	��[2oQFD"oUO[[V22J$	UO[UOQ2P!)�_flushr�)r�r�r��add_cgi_vars)rr��NotImplementedErrorr��_write)rr��names&  r"�testAbstractMethods� HandlerTests.testAbstractMethodsgsE���M��
�D�
���1�7�1�?�C�
�	
���-�q�x�x��@r$c��QoQoQoQo[2oUOU2UOUOO	2QOQ22[2oUOU2UOUOO	2QOQ22[2oUOU2UOUOO	2Q2[2oUOU2UOUOO	2Q2P!)	c�H�UQ,2UQ*OQ2,!�rDr@rSr�r�s&&r"�trivial_app1�4HandlerTests.testContentLength.<locals>.trivial_app1rs%��
�h�r�N��'�(�/�/��=�>�>r$c�R�UQ,2UQ*OQ22,!r�r�r�s&&r"�trivial_app2�4HandlerTests.testContentLength.<locals>.trivial_app2vs&��
�h�r�N�1�.�/�6�6�|�D�E��Ir$c�:�UQ,2QOQ2,!)rDuтестzutf-8r�r�s&&r"�trivial_app3�4HandlerTests.testContentLength.<locals>.trivial_app3zs��
�h�r�N�.�5�5�g�>�?�?r$c��UQQ,2,!)rD)zContent-Length�12345r@r�s&&r"�trivial_app4�4HandlerTests.testContentLength.<locals>.trivial_app4~s��
�h�3�4�5��Ir$z)Status: 200 OK
Content-Length: 4

httprSzStatus: 200 OK

https-Status: 200 OK
Content-Length: 8

тестs)Status: 200 OK
Content-Length: 12345

)r��runrv�stdoutr]rU)rr�r�r�r�r�s&     r"�testContentLength�HandlerTests.testContentLengthos	��	?�	�	@�	�

�M��	���l��������*�*�,���F�<�(�		*�
�M��	���l��������*�*�,���F�<�(�	*�

�M��	���l��������*�*�,�
0�	1�
�M��	���l��������*�*�,�
�	r$c�z�QoQo[2oUOU2UOUOO	2QOQ22UOUOO	2P2[2oUOU2UOUOO	2QUO[UO21*OQ2UO*2UOQUOO	22P!)c��UQ,2,!�rDr@r�s&&r"�
non_error_app�8HandlerTests.testBasicErrorOutput.<locals>.non_error_app����
�h�r�N��Ir$c��[Q2g)� This should be caught by handler�rhr�s&&r"�	error_app�4HandlerTests.testBasicErrorOutput.<locals>.error_app�s�� �!C�D�Dr$�%Status: 200 OK
Content-Length: 0

rSz<Status: %s
Content-Type: text/plain
Content-Length: %d

rh)r�r�rvr�r]rUr[�error_statusr��
error_bodyr�)rr�r�r�s&   r"�testBasicErrorOutput�!HandlerTests.testBasicErrorOutput�s���	�	E�
�N��	���m��������*�*�,���F�<�(�	*�	
������*�*�,�R�0��N��	���i��������*�*�,���n�n�S����%6�7�8�:@���9M��l�l�	
�	�	
�
�
�&����(9�(9�(;�<r$c�$`�QnU1Qko[2oUOU2UOUOO	2QOQ2R*2UO
QUOO	22P!)�Some output has been sentc�::�UQ,2R2[Q2g)rDr�r�)r�r��MSGs&&�r"r��4HandlerTests.testErrorAfterOutput.<locals>.error_app�s���
�h�r�N�3�� �!C�D�Dr$zStatus: 200 OK

rSrh)r�r�rvr�r]rUr�r[)rr�r�r�s&  @r"�testErrorAfterOutput�!HandlerTests.testErrorAfterOutput�st���*��	E�
�N��	���i��������*�*�,���6�,�'��,�	.�	
�
�
�&����(9�(9�(;�<r$c
�<�QoQoQOQ2oQFCD|oS9%cQU*9%fPoQ	FCDSoQ
FCDGo[UQ5oP
UmVhmVHmUOU2UO
V8OO22[UQ5oP	UmVhmVHmUOU2UQ6Xc-UO
UOO2Q2J�UO[OV&U1*OQ2UOO22V&U1*OQ2UOO212CJJ	CJV	CJ	P!)c��UQ,2,!r�r@r�s&&r"r��5HandlerTests.testHeaderFormats.<locals>.non_error_app�r�r$zfHTTP/%s 200 OK\r\nDate: \w{3}, [ 0123]\d \w{3} \d{4} \d\d:\d\d:\d\d GMT\r\n%sContent-Length: 0\r\n\r\nr�rSzServer: %s
�HTTP/0.9)r6r$)z
FooBar/1.0N)z1.0z1.1)rr7zHTTP/1.1)rUr��
origin_server�http_version�server_softwarer�rvr�r]r#�rerl)	rr��stdpat�shortpat�ssw�swrt�protor�s	&        r"�testHeaderFormats�HandlerTests.testHeaderFormats�sX��	�

3�	�
@�
�&��
�	�&�C��/�/�)�C�/�5�5�2�B�'��?�E�#�E�:�A�&+�A�O�%,�N�(+�%��E�E�-�(��$�$�X�h�h�.?�.?�.A�B�#�E�:�A�&*�A�O�%,�N�(+�%��E�E�-�(��j�(��(�(����):�):�)<�S�A�����H�H�f�b�\�&9�%A�%A�,�%O� !��� 1� 1� 3�5�$�b�\�1�9�9�,�G� !��� 1� 1� 3�5��#@�(�&r$c��Qo[2oUOU2UOQUOO	22P!)c��UQQ,2Q,!)rDr�r�r@r�s&&r"r^�'HandlerTests.testBytesData.<locals>.app�s��
�h�=��
��9�r$sRStatus: 200 OK
Content-Type: text/plain; charset=utf-8
Content-Length: 4

data)r�r�rvr�r])rr^r�s&  r"�
testBytesData�HandlerTests.testBytesData�s@��	�
�M��	���c�
�����

�H�H����	!r$c�``�QP
-nQnUU1Qko[2oUOU2UORQ*P	2P!)�close_calledr�c�V:�UQ,2R2U1QkQ[2oU2!)rDc�6:`�\sQsQsnQsU1QksQsUsP!)�HHandlerTests.testCloseOnError.<locals>.error_app.<locals>.CrashyIterable�
c3�. �Qw�	[Q2g3h)Tsblahr�r�r<s&r"�__iter__�QHandlerTests.testCloseOnError.<locals>.error_app.<locals>.CrashyIterable.__iter__s����%�
�,�-O�P�P�s�c�:�P	RQ$P!)Trr@)r�side_effectss&�r"r��NHandlerTests.testCloseOnError.<locals>.error_app.<locals>.CrashyIterable.closes
���37�L��0r$r@)r,r-r.r/rr�r1r2)r4r s@�r"�CrashyIterabler
s����Q�8�8r$r")�object)r�r�r"r�r s&& ��r"r��0HandlerTests.testCloseOnError.<locals>.error_apps(���
�h�r�N�3��
8��
8�"�#�#r$)r�r�rv)rr�r�r�r s&  @@r"�testCloseOnError�HandlerTests.testCloseOnErrorsA���&��.��*��		$�
�N��	���i������n�5�t�<r$c�X`�[2nU1QkQ2oQQ-o[[2U2[OU2oQoUO[U29^tt^2UO[2PPP2UOQR2P!)%fhK$9h)c�6:`�\sQsQsnU1QksQsQsUsP!)�4HandlerTests.testPartialWrite.<locals>.PartialWriter�c�P:�UQ*oROU2[U2!):N�N)�extendr�)r�b�partial�writtens&& �r"�write�:HandlerTests.testPartialWrite.<locals>.PartialWriter.writes"����B�%�����w�'��7�|�#r$c��P!rr@r<s&r"�flush�:HandlerTests.testPartialWrite.<locals>.PartialWriter.flush s��r$r@)r,r-r.r/r1r4r1r2)r4r0s@�r"�
PartialWriterr)s����
$�

�
r$r6r6r7zshould not do partial writesssHTTP/1.0 200 OK
Content-Type: text/plain
Date: Mon, 05 Jun 2006 18:49:54 GMT
Content-Length: 13

Hello, world!)
�	bytearrayr
rrZr[�assertWarnsRegex�DeprecationWarningr�rMrv)rr6rKr��msgr0s&    @r"�testPartialWrite�HandlerTests.testPartialWrites�����+��	�	�%�j�1���'�)�]�_�c�j�j�'�J��,��
�
"�
"�#5�s�
;�
;�
�E�E�)��<�����
�
	�<�
;�s�'B�B)	�"B)	c
�|`�QQ-o[[[1FD�nUORQ59^tt^2U1QkQ2o[	2o[[
2U2V12oUO[2UOUO22PPP2J�	P!)%fhJ�9h)r6r7)�	exceptionc�0:`�\sQsQsnU1QksQsUsP!)�EHandlerTests.testClientConnectionTerminations.<locals>.AbortingWriter�8c�
:�Rgrr@)rr.r>s&&�r"r1�KHandlerTests.testClientConnectionTerminations.<locals>.AbortingWriter.write9s���'�r$r@�r,r-r.r/r1r1r2)r4r>s@�r"�AbortingWriterr@8s����(�(r$rE)�ConnectionAbortedError�BrokenPipeError�ConnectionResetErrorr�rr
rr�rMr r])rrKrEr[r�r>s&    @r"� testClientConnectionTerminations�-HandlerTests.testClientConnectionTerminations0s����$�j�1��"�� �
�I�
���	��2�2�(�(�"���!�'�)�^�-=�v�O�����i� �� � ����!2�3�3�2�
�
3�2�2�s�A&B*	�*B;
�3B;
c��`�QQ[2nU1QkQ2o[2oQQ-o[[2U2V#2oUO	[
2UO
QUO22UOUO2UOUO2UOUO2UOUO2P!)c��\sQsQsQsP!)�KHandlerTests.testDontResetInternalStateOnException.<locals>.CustomException�Cr@r�r@r$r"�CustomExceptionrMCr�r$rOc�0:`�\sQsQsnU1QksQsUsP!)�JHandlerTests.testDontResetInternalStateOnException.<locals>.AbortingWriter�Jc�
:�Rgrr@)rr.rOs&&�r"r1�PHandlerTests.testDontResetInternalStateOnException.<locals>.AbortingWriter.writeKs	���%�%r$r@rD)r4rOs@�r"rErQJs����
&�
&r$rEr6r7)
r�rr
rr�rMr�r]�assertIsNotNone�resultr�r�rK)rrEr[rKr�rOs&    @r"�%testDontResetInternalStateOnException�2HandlerTests.testDontResetInternalStateOnExceptionBs����	�j�	�	&�	&����$�j�1���'�)�^�%5�v�G��	���i���
�
�'����):�;�	
���Q�X�X�&����Q�Y�Y�'����Q�X�X�&����Q�Y�Y�'r$c���[2FCDoUOU29^tt^2[2oUO[29^tt^2UOUQ,2PPP2[2oUO[29^tt^2UOQUQ1,2PPP2[2oUQ6wc=UO[29^tt^2UOQQU1,2PPP2LUOQQU1,2PPP2CJ	P!)%fhK�9h)%fhK�9h)%fhKE9h)%fhCJb9h)r'r.rDr�rz)rr�rr�r�rL)rr��bases&  r"r��(HandlerTests.testRaisesControlCharacters[s��'�)�)�B����b�!�!�"�}���&�&�z�2�2��'�'��Z�L�9�3�#�}���&�&�z�2�2��'�'��B��9�+�>�3�#�}����:��*�*�:�6�6��+�+�H��R�y�k�B�7�6��'�'��C��9�+�>�"�!�*�3�2��3�2��7�6��"�!�!�sq�(E	�D$
�&/E	�D7
�+E	�E	�!E

�7E	�$D4�-D4�/E	�7E�E�E	�
E�E�E	�E/
�&E/
r@i�)r,r-r.r/�maxDiffr�r�r�r�r�r�rrrr%r;rIrWr�r1r2r3s@r"r�r�!sY�����G�48�l*�>�A�0�d=�8=�)�V!� =�$�24�$(�2?�?r$r�c�(`�\sQsQsnQsQsUsP!)�
TestModule�oc���]QHGoUO[Q29^tt^2o[	UQ2PPP2UOWO[2P!)%fhK29h)r)�
simple_serverzA'__version__' is deprecated and slated for removal in Python 3.20�__version__)�wsgirefrar8r9r�rv�filename�__file__)rra�cms&  r"�test_deprecated__version__�%TestModule.test_deprecated__version__psS��)�
�
"�
"��O�
�
���M�=�1�	
�
	
������h�/�
�
�s�
A�A-	�&A-	r@)r,r-r.r/rgr1r2r3s@r"r^r^os����0�0r$r^�__main__)9�unittestrr�r�test.supportrrr�test.test_httpserversrr�wsgiref.utilr	�wsgiref.headersr
�wsgiref.handlersrrr
rcr�wsgiref.validater�wsgiref.simple_serverrrr�http.clientr�iorrr�socketserverr�platformrr�r	r�rZr�rr6rMrVrerorqr�rqr�r�r�r^r,�mainr@r$r"�<module>rws����R�R�5��/�#�G�G��&�@�-�&�0�0�#�*�	�	�
�
������
�$�
����"7�*�D�*v@�x�v@�r`:�8�`:�DEh�(�Eh�N

�>�

��,��K?�8�K?�\
	0��"�"�	0��z���M�M�O�r$

Youez - 2016 - github.com/yon3zu
LinuXploit