%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib64/python2.7/site-packages/tornado/test/
Upload File :
Create Path :
Current File : //usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyo

�
��L]c@�s�ddlmZmZmZmZddlmZddlmZm	Z	m
Z
mZmZm
Z
ddlmZddlmZddlmZddlmZmZmZmZddlmZdd	lmZdd
lmZddlmZddl m!Z!m"Z"m#Z#m$Z$m%Z%dd
l&m'Z'm(Z(ddl)m*Z*ddl+m,Z,m-Z-m.Z.m/Z/ddl0m1Z1ddl2Z2ddl3Z3ddl4Z4ddl5Z5ddl6Z6ddl7Z7ddl8Z8ddl9Z9ddl:m;Z;d�Z<de!fd��YZ=de-fd��YZ>e'j?e@e7ddT�dUkd�ZAde"fd��YZBdeCfd��YZDdeBeDfd ��YZEeAd!eBeDfd"��Y�ZFeAd#eBeDfd$��Y�ZGe'j?eHe7d%�d&�d'eBeDfd(��Y�ZId)e'jJfd*��YZKd+e-fd,��YZLd-e!fd.��YZMd/e-fd0��YZNd1e-fd2��YZOd3e!fd4��YZPd5e!fd6��YZQd7e=fd8��YZRd9e"e=fd:��YZSd;e=fd<��YZTe'j?eHe6d=�p�e8jUd>kd?�d@e#fdA��Y�ZVdBe!fdC��YZWdDeCfdE��YZXdFeXe!fdG��YZYdHeXe!fdI��YZZdJe!fdK��YZ[dLe!fdM��YZ\e(dNe!fdO��Y�Z]dPe!fdQ��YZ^dRe!fdS��YZ_dS(Vi(tabsolute_importtdivisiontprint_functiontwith_statement(tnetutil(tjson_decodetjson_encodetutf8t_unicodetrecursive_unicodet
native_str(tgen(tHTTP1Connection(t
HTTPServer(tHTTPHeaderstHTTPMessageDelegatetHTTPServerConnectionDelegatetResponseStartLine(tIOStream(tgen_log(tssl_options_to_context(tSimpleAsyncHTTPClient(tAsyncHTTPTestCasetAsyncHTTPSTestCaset
AsyncTestCaset	ExpectLogtgen_test(tunittesttskipOnTravis(tu(tApplicationtRequestHandlertasynchronouststream_request_body(tclosingN(tBytesIOc�sHg�dtf��fd��Y}t|t�}|j|��dS(sUReads an HTTP response from `stream` and runs callback with its
    headers and body.tDelegatec�s2eZd�Z�fd�Z��fd�ZRS(cS�s
||_dS(N(theaders(tselft
start_lineR%((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pytheaders_received$sc�s�j|�dS(N(tappend(R&tchunk(tchunks(sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt
data_received'sc�s �|jdj��f�dS(Nt(R%tjoin(R&(tcallbackR+(sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pytfinish*s(t__name__t
__module__R(R,R0((R/R+(sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR$#s	N(RRtTruet
read_response(tstreamR/R$tconn((R/R+sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pytread_stream_bodys	tHandlerBaseTestCasecB�seZd�Zd�ZRS(cC�std|jjfg�S(Nt/(Rt	__class__tHandler(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pytget_app1scO�s)|j||�}|j�t|j�S(N(tfetchtrethrowRtbody(R&targstkwargstresponse((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt
fetch_json4s
(R1R2R<RC(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR80s	tHelloWorldRequestHandlercB�s&eZdd�Zd�Zd�ZRS(thttpcC�s
||_dS(N(texpected_protocol(R&tprotocol((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt
initialize;scC�s5|jj|jkr$td��n|jd�dS(Nsunexpected protocolsHello world(trequestRGRFt	ExceptionR0(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pytget>scC�s!|jdt|jj��dS(NsGot %d bytes in POST(R0tlenRIR?(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pytpostCs(R1R2RHRKRM(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRD:s	tOPENSSL_VERSION_INFOis(old version of ssl module and/or openssltBaseSSLTestcB�seZd�ZRS(cC�stdttdd�fg�S(NR9RGthttps(RRDtdict(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR<Rs	(R1R2R<(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyROQstSSLTestMixincB�s5eZd�Zd�Zd�Zd�Zd�ZRS(cC�std|j�tj��S(Ntssl_version(RQtget_ssl_versionRtget_ssl_options(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRUXscC�s
t��dS(N(tNotImplementedError(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRT\scC�s&|jd�}|j|jd�dS(NR9sHello world(R=tassertEqualR?(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_ssl_scC�s6|jdddddd�}|j|jd�dS(NR9tmethodtPOSTR?tAi�sGot 5000 bytes in POST(R=RWR?(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_large_postcs
cC�s�ttd��dttddt��H|jj|jd�jdd�|jddd	d�|j�}WdQXWdQX|j	|j
d
�dS(Ns(SSL Error|uncaught exception)sUncaught exceptiontrequiredR9shttps:shttp:trequest_timeoutitconnect_timeoutiW(RRtFalsethttp_clientR=tget_urltreplacetstoptwaitRWtcode(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_non_ssl_requestis		(R1R2RURTRXR\Rg(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRRWs
				t
SSLv23TestcB�seZd�ZRS(cC�stjS(N(tssltPROTOCOL_SSLv23(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRT~s(R1R2RT(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRh}st	SSLv3TestcB�seZd�ZRS(cC�stjS(N(RitPROTOCOL_SSLv3(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRT�s(R1R2RT(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRk�st	TLSv1TestcB�seZd�ZRS(cC�stjS(N(RitPROTOCOL_TLSv1(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRT�s(R1R2RT(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRm�st
SSLContextsssl.SSLContext not presenttSSLContextTestcB�seZd�ZRS(cC�sttj|��}|S(N(RRRU(R&tcontext((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRU�s(R1R2RU(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRp�stBadSSLOptionsTestcB�seZd�Zd�ZRS(cC�s-t�}|jtt|didd6�dS(Ntssl_optionss/__missing__.crttkeyfile(RtassertRaisestKeyErrorR
(R&tapplication((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_missing_arguments�s	cC�s�t�}tjjt�}tjj|d�}tjj|d�}|jttft	|didd6�|jttft	|di|d6dd6�t	|di|d6|d6�dS(	s6A missing SSL key should cause an immediate exception.stest.crtstest.keyRss/__mising__.crttcertfiles/__missing__.keyRtN(
Rtostpathtdirnamet__file__R.Rut
ValueErrortIOErrorR
(R&Rwt
module_dirtexisting_certificatetexisting_key((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_missing_key�s	(R1R2RxR�(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRr�s	tMultipartTestHandlercB�seZd�ZRS(cC�si|ji|jjdd6|jd�d6|jjddjd6t|jjddd�d6�dS(	NsX-Header-Encoding-TesttheadertargumenttfilesitfilenameR?tfilebody(R0RIR%tget_argumentR�R�R(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRM�s(R1R2RM(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR��stHTTPConnectionTestcB�sAeZd�Zd�Zdd�Zd�Zd�Zd�ZRS(cC�sdtfdtfgS(Ns
/multiparts/hello(R�RD(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pytget_handlers�s	cC�st|j��S(N(RR�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR<�ss
cC�s�tttj�����}|jd|j�f|j�|j�|j|j|t	dt
|��g�|||�t||j�|j�\}}|SWdQXdS(Ns	127.0.0.1sContent-Length: %d(R"Rtsockettconnectt
get_http_portRdRetwriteR.RRLR7(R&R%R?tnewlineR5((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt	raw_fetch�s
3cC�s�|jdddgdjddtd�jd�d	td
�jd�dtd�jd�d
dg	��}t|�}|jtd�|d�|jtd�|d�|jtd�|d�|jtd�|d�dS(NsPOST /multipart HTTP/1.0s6Content-Type: multipart/form-data; boundary=1234567890sX-Header-encoding-test: �s
s-Content-Disposition: form-data; name=argumentR-s\u00e1sutf-8s--1234567890s?Content-Disposition: form-data; name="files"; filename="\u00f3"Rs\u00fas--1234567890--s\u00e9R�R�s\u00f3R�R�(R�R.RtencodeRRW(R&RBtdata((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_multipart_form�s&cC�s@x9dD]1}|jdgdd|�}|j|d�qWdS(Ns
s
sGET /hello HTTP/1.0R-R�sHello world(s
s
(R�RW(R&R�RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt
test_newlines�s
	cC�s�ttj�d|j�}|jd|j�fd|j�|j�|jdjdddddg�d|j�|j�|j	d	|j�|j�}|j
|jd
�|�|jdd�|j	d|j�|j�}|j
|jd
�|�|j	d	|j�|j�}tj
t|jd���}|jt|d�|j�|j�}|j|d�|j�dS(Ntio_loops	127.0.0.1R/s
sPOST /hello HTTP/1.1sContent-Length: 1024sExpect: 100-continuesConnection: closes

s
HTTP/1.1 100 taisHTTP/1.1 200tlatin1sContent-LengthsGot 1024 bytes in POST(RR�R�R�R�RdReR�R.t
read_untilt
assertTruet
startswithRtparseR
tdecodet
read_bytestintRWtclose(R&R5R�t
first_linetheader_dataR%R?((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_100_continue�s."

(R1R2R�R<R�R�R�R�(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR��s				tEchoHandlercB�seZd�Zd�ZRS(cC�s|jt|jj��dS(N(R�R	RIt	arguments(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRKscC�s|jt|jj��dS(N(R�R	RIR�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRMs(R1R2RKRM(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�s	tTypeCheckHandlercB�s,eZd�Zd�Zd�Zd�ZRS(c	C�s�i|_dtfdtfdtfdtfdtfdtfdtfdtfg}x3|D]+\}}|j|t|j|�|�q^W|jd	t|jjj��d
t�|jdt|jjj��d
t�|jdt|jj	j��d
t�|jd
t|jj	j��d
j
t�|jdt|jjj��d
t�|jdt|jjj��d
d
t�dS(NRYturitversiont	remote_ipRGthostR{tqueryt
header_keyitheader_valuet
cookie_keytcookie_valuetarg_keyt	arg_value(
terrorststrt
check_typetgetattrRItlistR%tkeystvaluestcookiestvalueR�tbytes(R&tfieldstfieldt
expected_type((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pytprepares"								#))),)cC�s-|jd|jjt�|j|j�dS(NR?(R�RIR?R�R�R�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRM4scC�s|j|j�dS(N(R�R�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRK8scC�s6t|�}||kr2d||f|j|<ndS(Nsexpected %s, got %s(ttypeR�(R&tnametobjR�tactual_type((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�;s(R1R2R�RMRKR�(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�s			tHTTPServerTestcB�sGeZd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cC�s%tdtfdtfdtfg�S(Ns/echos
/typechecks
//doubleslash(RR�R�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR<Cs	cC�sH|jd�}t|j�}|j|itd�gtd�6�dS(Ns/echo?foo=%C3%A9s\u00e9tfoo(R=RR?RWR(R&RBR�((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_query_string_encodingIscC�sQ|jd�}t|j�}|j|itd�td�gtd�6�dS(Ns/echo?foo=&foo=R-R�(R=RR?RWR(R&RBR�((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_empty_query_stringNscC�sj|jddddd�}t|j�}|j|itd�gtd�6td�gtd�6�dS(	Ns/echoRYRZR?s	foo=&bar=R-R�tbar(R=RR?RWR(R&RBR�((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_empty_post_parametersSscC�s�idd6}|jdd|�}t|j�}|j|i�|jdddddd|�}t|j�}|j|i�dS(	Nsfoo=bartCookies/typecheck?foo=barR%s
/typecheckRYRZR?(R=RR?RW(R&R%RBR�((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt
test_typesXs
!cC�s?|jd�}|jd|j�|jt|j�i�dS(Ns
//doubleslashi�(R=RWRfRR?(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_double_slashbscC�sxttkrdSttd��-|jddddidd6dd	�}WdQX|jd
|j�|jd|j�dS(Ns"Invalid x-www-form-urlencoded bodys/echoRYRZR%s!application/x-www-form-urlencodedsContent-TypeR?s�i�s{}(R�R�RRR=RWRfR?(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_malformed_bodyjs
(	R1R2R<R�R�R�R�R�R�(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�Bs					
	tHTTPServerRawTestcB�sGeZd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cC�stdtfg�S(Ns/echo(RR�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR<{scC�sXtt|�j�ttj��|_|jjd|j�f|j�|j	�dS(Ns	127.0.0.1(
tsuperR�tsetUpRR�R5R�R�RdRe(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR��s"cC�s$|jj�tt|�j�dS(N(R5R�R�R�ttearDown(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR��s
cC�s=|jj�|jjtjdd�|j�|j�dS(Ntsecondsg����MbP?(R5R�R�tadd_timeouttdatetimet	timedeltaRdRe(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_empty_request�s
"cC�sVttd��A|jjd�|jjtjdd�|j�|j	�WdQXdS(Ns.*Malformed HTTP request linesasdf

R�g{�G�z�?(
RRR5R�R�R�R�R�RdRe(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_malformed_first_line�s

cC�sVttd��A|jjd�|jjtjdd�|j�|j	�WdQXdS(Ns.*Malformed HTTP headerssGET / HTTP/1.0
asdf

R�g{�G�z�?(
RRR5R�R�R�R�R�RdRe(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_malformed_headers�s

cC�sq|jjdjdd��t|j|j�|j�\}}|jt|�itd�gtd�6�dS(NspPOST /echo HTTP/1.1
Transfer-Encoding: chunked
Content-Type: application/x-www-form-urlencoded

4
foo=
3
bar
0

s
s
R�R�(	R5R�RcR7RdReRWRR(R&R%RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_chunked_request_body�s
	(	R1R2R<R�R�R�R�R�R�(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�zs							tXHeaderTestcB�s9eZdefd��YZd�Zd�Zd�ZRS(R;cB�seZd�ZRS(cC�s,|jtd|jjd|jj��dS(NR�tremote_protocol(R�RQRIR�RG(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRK�s(R1R2RK(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR;�scC�s
tdt�S(Ntxheaders(RQR3(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pytget_httpserver_options�scC�sq|j|jd�dd�idd6}|j|jdd|�dd�idd6}|j|jdd|�dd�id	d6}|j|jdd|�dd	�id
d6}|j|jdd|�dd	�idd6}|j|jdd|�dd�idd6}|j|jdd|�dd�id
d6}|j|jdd|�dd�dS(NR9R�s	127.0.0.1s4.4.4.4s	X-Real-IPR%s127.0.0.1, 4.4.4.4sX-Forwarded-Fors2620:0:1cfe:face:b00c::3s::1, 2620:0:1cfe:face:b00c::3s4.4.4.4<script>s4.4.4.4, 5.5.5.5<script>swww.google.com(RWRC(R&t
valid_ipv4tvalid_ipv4_listt
valid_ipv6tvalid_ipv6_listt
invalid_charstinvalid_chars_listtinvalid_host((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_ip_headers�s:






cC�s�|j|jd�dd�idd6}|j|jdd|�dd�idd6}|j|jdd|�dd�idd6}|j|jdd|�dd�dS(	NR9R�RERPsX-SchemeR%sX-Forwarded-Prototunknown(RWRC(R&thttps_schemethttps_forwardedt
bad_forwarded((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_scheme_headers�s


(R1R2RR;R�R�R�(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR��s		&tSSLXHeaderTestcB�s#eZd�Zd�Zd�ZRS(cC�stdtjfg�S(NR9(RR�R;(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR<�scC�s#tt|�j�}t|d<|S(NR�(R�R�R�R3(R&toutput((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR��s
cC�s�|j|jd�dd�idd6}|j|jdd|�dd�idd6}|j|jdd|�dd�dS(NR9R�RPREsX-SchemeR%R�(RWRC(R&thttp_schemet
bad_scheme((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_request_without_xprotocol�s

(R1R2R<R�R�(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR��s		tManualProtocolTestcB�s0eZdefd��YZd�Zd�ZRS(R;cB�seZd�ZRS(cC�s |jtd|jj��dS(NRG(R�RQRIRG(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRKs(R1R2RK(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR;scC�s
tdd�S(NRGRP(RQ(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�scC�s!|j|jd�dd�dS(NR9RGRP(RWRC(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_manual_protocols(R1R2RR;R�R�(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�
s	tAF_UNIXtcygwins+unix sockets not supported on this platformtUnixSocketTestcB�s2eZdZd�Zd�Zd�Zd�ZRS(s�HTTPServers can listen on Unix sockets too.

    Why would you want to do this?  Nginx can proxy to backends listening
    on unix sockets, for one thing (and managing a namespace for unix
    sockets can be easier than managing a bunch of TCP port numbers).

    Unfortunately, there's no way to specify a unix socket in a url for
    an HTTP client, so we have to test this by hand.
    cC�s�tt|�j�tj�|_tjj|jd�|_	t
j|j	�}tdt
fg�}t|d|j�|_|jj|�ttjtj�d|j�|_|jj|j	|j�|j�dS(Ns	test.socks/helloR�(R�R�R�ttempfiletmkdtempttmpdirRzR{R.tsockfileRtbind_unix_socketRRDR
R�tservert
add_socketRR�R�R5R�RdRe(R&tsocktapp((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�"s$cC�sA|jj�|jj�tj|j�tt|�j	�dS(N(
R5R�R�RdtshutiltrmtreeR�R�R�R�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�.s

cC�s�|jjd�|jjd|j�|j�}|j|d�|jjd|j�tj|j�jd��}|jj	t
|d�|j�|j�}|j|d�dS(NsGET /hello HTTP/1.0

s
sHTTP/1.1 200 OK
s

R�sContent-LengthsHello world(R5R�R�RdReRWRR�R�R�R�(R&RBR%R?((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_unix_socket4s cC�sYttd��4|jjd�|jj|j�|j�}WdQX|j|d�dS(NsMalformed HTTP message fromsgarbage

R-(RRR5R�tread_until_closeRdReRW(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_unix_socket_bad_request?s
(R1R2t__doc__R�R�RR(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�s
			t
KeepAliveTestcB�s�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�ZRS(s�Tests various scenarios for HTTP 1.1 keep-alive support.

    These tests don't use AsyncHTTPClient because we want to control
    connection reuse and closing.
    cC�sgdtfd��Y}dtfd��Y}dtfd��Y}td|fd|fd	|fg�S(
NtHelloHandlercB�seZd�Zd�ZRS(cS�s|jd�dS(NsHello world(R0(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRKQscS�s|jd�dS(NsHello world(R0(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRMTs(R1R2RKRM(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRPs	tLargeHandlercB�seZd�ZRS(cS�s*|jdjd�td�D���dS(NR-cs�s#|]}t|d�dVqdS(iiN(tchr(t.0ti((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pys	<genexpr>[si(R�R.trange(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRKXs(R1R2RK(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRWstFinishOnCloseHandlercB�s eZed��Zd�ZRS(cS�s|j�dS(N(tflush(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRK^scS�s|jd�dS(Ntclosed(R0(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyton_connection_closebs(R1R2R RKR(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR]sR9s/larges/finish_on_close(RR(R&RRR((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR<Os	cC�s tt|�j�d|_dS(NsHTTP/1.1(R�RR�thttp_version(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�lscC�sb|jjtjdd�|j�|j�t|d�rK|jj�nt	t
|�j�dS(NR�g����MbP?R5(R�R�R�R�RdRethasattrR5R�R�RR�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�ps
"
cC�sNttj�d|j�|_|jjd|j�f|j�|j�dS(NR�s	127.0.0.1(RR�R�R5R�R�RdRe(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�{s"cC�sy|jjd|j�|j�}|j|jd�|�|jjd|j�|j�}tj|jd��}|S(Ns
sHTTP/1.1 200s

R�(	R5R�RdReR�R�RR�R�(R&R�theader_bytesR%((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pytread_headers�scC�sR|j�|_|jjt|jd�|j�|j�}|jd|�dS(NsContent-LengthsHello world(RR%R5R�R�RdReRW(R&R?((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR4�s#cC�s|jj�|`dS(N(R5R�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR��s
cC�sL|j�|jjd�|j�|jjd�|j�|j�dS(NsGET / HTTP/1.1

(R�R5R�R4R�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_two_requests�s


cC�sb|j�|jjd�|j�|jjd|j�|j�}|j|�|j�dS(Ns%GET / HTTP/1.1
Connection: close

R/(	R�R5R�R4RRdReR�R�(R&R�((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_request_close�s

cC�s�d|_|j�|jjd�|j�|jjd|j�|j�}|j|�|jd|j	k�|j
�dS(NsHTTP/1.0sGET / HTTP/1.0

R/t
Connection(RR�R5R�R4RRdReR�R%R�(R&R�((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_http10�s	

cC�s�d|_|j�|jjd�|j�|j|jdd�|jjd�|j�|j|jdd�|j�dS(NsHTTP/1.0s*GET / HTTP/1.0
Connection: keep-alive

Rs
Keep-Alive(RR�R5R�R4RWR%R�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_http10_keepalive�s	


cC�s�d|_|j�|jjd�|j�|j|jdd�|jjd�|j�|j|jdd�|j�dS(NsHTTP/1.0s,GET / HTTP/1.0
Connection: keep-alive


Rs
Keep-Alives*GET / HTTP/1.0
Connection: keep-alive

(RR�R5R�R4RWR%R�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt test_http10_keepalive_extra_crlf�s	


cC�s<|j�|jjd�|j�|j�|j�dS(Ns$GET / HTTP/1.1

GET / HTTP/1.1

(R�R5R�R4R�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_pipelined_requests�s



cC�s2|j�|jjd�|j�|j�dS(Ns$GET / HTTP/1.1

GET / HTTP/1.1

(R�R5R�R4R�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_pipelined_cancel�s

cC�sR|j�|jjd�|j�|jjd|j�|j�|j�dS(NsGET /large HTTP/1.1

i(R�R5R�RR�RdReR�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_cancel_during_download�s


cC�s2|j�|jjd�|j�|j�dS(Ns!GET /finish_on_close HTTP/1.1

(R�R5R�RR�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_finish_while_closed�s

cC�s�d|_|j�|jjd�|j�|j|jdd�|jjd�|j�|j|jdd�|j�dS(NsHTTP/1.0sJPOST / HTTP/1.0
Connection: keep-alive
Transfer-Encoding: chunked

0
Rs
Keep-Alives*GET / HTTP/1.0
Connection: keep-alive

(RR�R5R�R4RWR%R�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_keepalive_chunked�s	


(R1R2RR<R�R�R�RR4R�RRRRRRRRRR(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRIs$										
							tGzipBaseTestcB�s#eZd�Zd�Zd�ZRS(cC�stdtfg�S(NR9(RR�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR<�sc
C�spt�}tjddd|�}|jt|��|j�|j�}|jdddd|did	d
6�S(NtmodetwtfileobjR9RYRZR?R%tgzipsContent-Encoding(R#R#tGzipFileR�RR�tgetvalueR=(R&R?tbytesiot	gzip_filetcompressed_body((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt	post_gzip�s	
cC�sN|jddddd�}|jt|j�itd�gtd�6�dS(NR9RYRZR?sfoo=barR�R�(R=tassertEqualsRR?R(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_uncompressed�s(R1R2R<R)R+(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�s			tGzipTestcB�seZd�Zd�ZRS(cC�s
tdt�S(Ntdecompress_request(RQR3(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�scC�sB|jd�}|jt|j�itd�gtd�6�dS(Nsfoo=barR�R�(R)R*RR?R(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt	test_gzips(R1R2R�R.(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR,s	tGzipUnsupportedTestcB�seZd�ZRS(cC�sBttd��|jd�}WdQX|jt|j�i�dS(NsUnsupported Content-Encodingsfoo=bar(RRR)R*RR?(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_gzip_unsupporteds(R1R2R0(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR/stStreamingChunkSizeTestcB�s{eZdZdZd�Zd�Zdefd��YZd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�ZRS(
t201234567890123456789012345678901234567890123456789icC�std|j�S(NR�(RR�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pytget_http_clientscC�std|jdt�S(Nt
chunk_sizeR-(RQt
CHUNK_SIZER3(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�stMessageDelegatecB�s,eZd�Zd�Zd�Zd�ZRS(cC�s
||_dS(N(t
connection(R&R7((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt__init__#scC�s
g|_dS(N(t
chunk_lengths(R&R'R%((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR(&scC�s|jjt|��dS(N(R9R)RL(R&R*((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR,)scC�sntt|j��}|jjtddd�titt|��d6��|jj	|�|jj
�dS(NsHTTP/1.1i�tOKsContent-Length(RRR9R7t
write_headersRRR�RLR�R0(R&t
response_body((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR0,s	 (R1R2R8R(R,R0(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR6"s			cC�sdtfd��Y}|�S(NtAppcB�seZd�ZRS(cS�s
tj|�S(N(R1R6(R&tserver_conntrequest_conn((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt
start_request6s(R1R2R@(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR=5s(R(R&R=((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR<4scK�s�|jddd|�}|j�t|j�}|jt|j�t|��xK|D]C}|j||j	dt
|��|j|ddt
|��qWW|S(NR9RYRZsoversized chunk: is
empty chunk: (R=R>RR?RWRLtBODYtsumtassertLessEqualR5R�t
assertGreater(R&RARBR+R4((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pytfetch_chunk_sizes:s

cC�sot�}tjddd|�}|j|�|j�|j�}t|�t|�krktd��n|S(NR R!R"s#body did not shrink when compressed(R#R#R$R�R�R%RLRJ(R&R?R&tgzfilet
compressed((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pytcompressFs	

cC�s5|jd|j�}|jddddg|�dS(NR?ii(RERARW(R&R+((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_regular_bodyPscC�s-|jd|j|j�didd6�dS(NR?R%R#sContent-Encoding(RERHRA(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_compressed_bodyUsc�sA�fd�}�jd|�}�jddddg|�dS(Nc�s&|�jd �|�jd�dS(Ni(RA(R�(R&(sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt
body_producer\sRKiii(RERW(R&RKR+((R&sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_chunked_body[sc�sX|j|j��|jt��d��fd�}|jd|didd6�dS(Nic�s |�d �|�d�dS(Ni((R�(RG(sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRKgsRKR%R#sContent-Encoding(RHRARDRLRE(R&RK((RGsB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_chunked_compressedcs
(R1R2RAR5R3R�RR6R<RERHRIRJRLRM(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR1s					
			tMaxHeaderSizeTestcB�s,eZd�Zd�Zd�Zd�ZRS(cC�stdtfg�S(NR9(RRD(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR<oscC�s
tdd�S(Ntmax_header_sizei(RQ(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR�rscC�sA|jddiddd6�}|j�|j|jd�dS(NR9R%R�idsX-FillersHello world(R=R>RWR?(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_small_headersus 
c
C�sMttd��%|jddiddd6�}WdQX|j|jd�dS(NsUnsatisfiable readR9R%R�i�sX-FilleriW(RRR=RWRf(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_large_headerszs&(R1R2R<R�RPRQ(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRNns			tIdleTimeoutTestcB�sGeZd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cC�stdtfg�S(NR9(RRD(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR<�scC�s
tdd�S(Ntidle_connection_timeoutg�������?(RQ(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR��scC�s tt|�j�g|_dS(N(R�RRR�tstreams(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR��scC�s5tt|�j�x|jD]}|j�qWdS(N(R�RRR�RTR�(R&R5((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR��scC�sOttj��}|jd|j�f|j�|j�|jj|�|S(Ns	127.0.0.1(RR�R�R�RdReRTR)(R&R5((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR��s

cC�s*|j�}|j|j�|j�dS(N(R�tset_close_callbackRdRe(R&R5((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_unused_connection�sc�s��j�}|j�fd��xmtd�D]_}|jd�|jd�j��j�|jd�j��j�}�j|d�q/W�j�}�j|d�dS(Nc�s
�jd�S(NR(Rd((R&(sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt<lambda>�sisGET / HTTP/1.1

s

isHello worldR(	R�RURR�R�RdReR�RW(R&R5R
R�((R&sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_idle_after_use�s

(	R1R2R<R�R�R�R�RVRX(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRR�s						tBodyLimitsTestcB�s�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zed
��Z
ed��ZRS(cC�sNdtfd��Y}tdtfd��Y�}td|fd|fg�S(NtBufferedHandlercB�seZd�ZRS(cS�s#|jtt|jj���dS(N(R�R�RLRIR?(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pytput�s(R1R2R[(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRZ�stStreamingHandlercB�s,eZd�Zd�Zd�Zd�ZRS(cS�s
d|_dS(Ni(t
bytes_read(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRH�scS�srd|jjkr7|jjjt|jd���nd|jjkrn|jjjt|jd���ndS(Nt
expected_sizetbody_timeout(RIR�R7tset_max_body_sizeR�R�tset_body_timeouttfloat(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR��scS�s|jt|�7_dS(N(R]RL(R&R�((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR,�scS�s|jt|j��dS(N(R�R�R](R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR[�s(R1R2RHR�R,R[(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR\�s			s	/buffereds
/streaming(RR!R(R&RZR\((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR<�s
cC�stdddd�S(NR_it
max_body_sizei(RQ(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR��scC�std|j�S(NR�(RR�(R&((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR3�scC�sh|jdddddd�}|j|jd�|jdddddd�}|j|jd�dS(	Ns	/bufferedRYtPUTR?R�it4096s
/streaming(R=RWR?(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_small_body�scC�sLttd��$|jdddddd�}WdQX|j|jd�dS(	Ns.*Content-Length too longs	/bufferedRYRdR?R�i(iW(RRR=RWRf(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_large_body_buffered�s%c
C�sKttd��#|jddddd��}WdQX|j|jd�dS(Ns.*chunked body too larges	/bufferedRYRdRKcS�s|dd�S(NR�i(((R�((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRW�siW(RRR=RWRf(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt test_large_body_buffered_chunked�scC�sLttd��$|jdddddd�}WdQX|j|jd�dS(	Ns.*Content-Length too longs
/streamingRYRdR?R�i(iW(RRR=RWRf(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_large_body_streaming�s%c
C�sKttd��#|jddddd��}WdQX|j|jd�dS(Ns.*chunked body too larges
/streamingRYRdRKcS�s|dd�S(NR�i(((R�((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRW�siW(RRR=RWRf(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt!test_large_body_streaming_chunked�scC�s6|jdddddd�}|j|jd�dS(Ns/streaming?expected_size=10240RYRdR?R�i(t10240(R=RWR?(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt"test_large_body_streaming_override�s
cC�s5|jddddd��}|j|jd�dS(Ns/streaming?expected_size=10240RYRdRKcS�s|dd�S(NR�i(((R�((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRW�sRk(R=RWR?(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt*test_large_body_streaming_chunked_override�scc�s�ttj��}z^|jd|j�f�V|jd�ttd��|j�V}WdQX|j|d�Wd|j	�XdS(Ns	127.0.0.1s@PUT /streaming?body_timeout=0.1 HTTP/1.0
Content-Length: 42

sTimeout reading bodyR-(
RR�R�R�R�RRRRWR�(R&R5RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_timeout�s
cc�s�ttj��}z�|jd|j�f�V|jd�|jdd�tjt|�V\}}|j|d�|jd�t	t
d��|j�V}WdQX|j|d�Wd|j�XdS(	Ns	127.0.0.1sFPUT /streaming?expected_size=10240 HTTP/1.1
Content-Length: 10240

R�i(Rks2PUT /streaming HTTP/1.1
Content-Length: 10240

s.*Content-Length too longR-(
RR�R�R�R�RtTaskR7RWRRRR�(R&R5R%RBR�((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_body_size_override_resets

(R1R2R<R�R3RfRgRhRiRjRlRmRRnRp(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRY�s										tLegacyInterfaceTestcB�seZd�Zd�ZRS(c�s�fd�}|S(Nc�s�|jjd��_�jsQ|jjtddd�t��|jj�dSd}|jt	dt
|���|j|�|j�dS(NsHTTP/1.R-i�R:sHello worlds'HTTP/1.1 200 OK
Content-Length: %d

(R�R�thttp1R7R;RRR0R�RRL(RItmessage(R&(sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pythandle_request#s		


((R&Rt((R&sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyR<scC�s?|jd�}|js(|jd�n|j|jd�dS(NR9srequires HTTP/1.xsHello world(R=RrtskipTestRWR?(R&RB((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyttest_legacy_interface4s	(R1R2R<Rv(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyRqs	(ii(ii(`t
__future__RRRRttornadoRttornado.escapeRRRRR	R
Rttornado.http1connectionRttornado.httpserverR
ttornado.httputilRRRRttornado.iostreamRttornado.logRttornado.netutilRttornado.simple_httpclientRttornado.testingRRRRRttornado.test.utilRRttornado.utilRttornado.webRRR R!t
contextlibR"R�R#RzR�R�RitsysR�tioR#R7R8RDtskipIfR�tskipIfOldSSLROtobjectRRRhRkRmRRptTestCaseRrR�R�R�R�R�R�R�R�R�tplatformR�RRR,R/R1RNRRRYRq(((sB/usr/lib64/python2.7/site-packages/tornado/test/httpserver_test.pyt<module>s|"."("	
	& 
Q(89B"	1�	
Y.o

Zerion Mini Shell 1.0