Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.144.84.174
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : test_httplib.pyo
�
?��cc@sddlZddlZddlZddlZddlZddlZddlZddlZddlZej	Z	ddl
mZejj
e�Zejjed�Zejjed�Zejjed�ZejZdfd��YZdefd	��YZd
ejfd��YZde	fd
��YZde	fd��YZde	fd��YZdfd��YZdee	fd��YZdee	fd��YZde	fd��YZde	fd��YZde	fd��YZ ej!e"d��Z#e$dkre#�ndS( i����N(ttest_supportskeycert.pemskeycert2.pemsselfsigned_pythontestdotnet.pemt
FakeSocketcBsDeZejddd�Zd�Zdd�Zd�Zd�ZRS(cCs:||_||_d|_t|_||_||_dS(Nt(ttextt	fileclasstdatatFalsetfile_closedthosttport(tselfRRRR	((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt__init__s					cCs|jdj|�7_dS(NR(Rtjoin(R
R((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pytsendall"scCsR|dkr'|dkr'tj��n|j|j�|_|j|j_|jS(Ntrtrb(thttplibtUnimplementedFileModeRRtfilet
file_closetclose(R
tmodetbufsize((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pytmakefile%s
cCs
t|_dS(N(tTrueR(R
((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR-scCsdS(N((R
((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR0sN(	t__name__t
__module__tStringIOtNoneRR
RRR(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyRs
		tEPipeSocketcBs#eZd�Zd�Zd�ZRS(cCstj||�||_dS(N(RRtpipe_trigger(R
RR((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR5scCs:|j|kr'tjtjd��n|j|7_dS(Ntgotcha(RtsocketterrorterrnotEPIPER(R
R((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR
:scCsdS(N((R
((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR?s(RRRR
R(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR3s		t
NoEOFStringIOcBs&eZdZdd�Zdd�ZRS(s�Like StringIO, but raises AssertionError on EOF.

    This is used below to test that httplib doesn't try to read
    more from the underlying file than it should.
    i����cCs4tjj||�}|dkr0td��n|S(NRscaller tried to read past EOF(RtreadtAssertionError(R
tnR((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR%HscCs4tjj||�}|dkr0td��n|S(NRscaller tried to read past EOF(RtreadlineR&(R
tlengthR((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR(NsN(RRt__doc__R%RR((((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR$BstHeaderTestscBsbeZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�ZRS(
cCs�dtfd��Y}x�ttfD]�}x�dD]�}tjd�}td�|_|�|_d}i}|r�tt	|��||<n|j
d	d
||�|j|jj|j
�d�q0Wq#WdS(
NtHeaderCountingBuffercBseZd�Zd�ZRS(cSs
i|_dS(N(tcount(R
((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR[scSsn|jd�}t|�dkrZ|dj�}|jj|d�|j|cd7<ntj||�dS(Nt:ii(tsplittlentlowerR-t
setdefaulttlisttappend(R
titemtkvtlcKey((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR4]s(RRRR4(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR,Zs	sContent-lengthtHostsAccept-encodingsexample.comtblahblahblahtspamspamspamtPOSTt/i(sContent-lengthR8sAccept-encoding(R3RRRtHTTPConnectionRtsockt_buffertstrR0trequesttassertEqualR-R1(R
R,texplicit_headertheadertconntbodytheaders((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_auto_headersVs
cCs
dtfd��Y}d}d}xtj||�D]k\}}tjd�}td�|_|�|_|j	|d|�|j
|jjd	d
j|��q5Wd}xm|D]e}tjd�}td�|_|�|_|j	|dd�|j
|jjddj|��q�Wxm|D]e}tjd�}td�|_|�|_|j	|dd�|j
|jjd	d
j|��q!Wxytj
||�D]e}tjd�}td�|_|�|_|j	|dd�|j
|jjdd
j|��q�WdS(NtContentLengthCheckercBseZd�Zd�ZRS(cSstj|�d|_dS(N(R3RRtcontent_length(R
((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyRvs
cSsd|jdd�}t|�dkrP|dj�dkrP|dj�|_ntj||�dS(NR.iiscontent-length(R/R0R1tstripRJR3R4(R
R5R6((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR4ys((RRRR4(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyRIus	RtPUTR;tPATCHsexample.comR<t0s%Header Content-Length incorrect on {}tGETtCONNECTtDELETEtHEADtOPTIONStTRACEs.Header Content-Length set for empty body on {}t t1(NR(RLR;RM(RORPRQRRRSRT(R3Rt	itertoolstproductRR=RR>R?RARBRJtformattchain(R
RItbodiestmethods_with_bodytmethodRFREtmethods_without_body((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_content_length_0ssH

cCstjd�}td�|_|jdd�|jdd�|jd|j�|jdd�|jd	|j�|jd
d�|jd|j�|jd
d�|jd|j�|jddd�|jd|j�|jdd�|jd|j�|jdd�|jd|j�|jdd�|jd|j�|jdd�|jd|j�|jd d!�|jd"|j�|jd#d$�|jd%|j�|jd&d$�|jd'|j�|jd(d$�|jd)|j�|jd*d$�|jd+|j�dS(,Nsexample.comROR<sContent-lengthi*sContent-length: 42tFoos bar s
Foo:  bar tBars	baz	s
Bar: 	baz	t
AuthorizationsBearer mytokensAuthorization: Bearer mytokent
IterHeadertIterAtIterBsIterHeader: IterA
	IterBtLatinHeaders�sLatinHeader: �t
Utf8HeadersÀsUtf8Header: Às
C1-Controls	next�linesC1-Control: next�linesEmbedded-Fold-Spacesis
 alloweds!Embedded-Fold-Space: is
 allowedsEmbedded-Fold-Tabsis
	allowedsEmbedded-Fold-Tab: is
	alloweds	Key SpacetvaluesKey Space: values	KeySpace sKeySpace : valuesNonbreak�SpacesNonbreak�Space: values�NonbreakSpaces�NonbreakSpace: value(	RR=RRR>t
putrequestt	putheadertassertInR?(R
RE((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_putheader�s>cCs�d}tjd�}td�}||_|jdd�|j|jj|��d}tjd�}td�}||_|jdd�|j|jj|��dS(NsCGET /foo HTTP/1.1
Host: [2001::]:81
Accept-Encoding: identity

s[2001::]:81RROs/foosEGET /foo HTTP/1.1
Host: [2001:102A::]
Accept-Encoding: identity

s
[2001:102A::](RR=RR>RAt
assertTrueRt
startswith(R
texpectedRER>((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_ipv6host_header�s		cCsad}t|�}tj|�}|j�|j|jd�d�|j|jd�d�dS(Ns4HTTP/1.1 200 OK
First: val
: nval
Second: val

tFirsttvaltSecond(RRtHTTPResponsetbeginRBt	getheader(R
RFR>tresp((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt!test_malformed_headers_coped_with�s
cCsnd}tjt|��}|j�|j|jd��|j|jd�d�|j|j�d�dS(Ns|HTTP/1.1 200 OK
Public-Key-Pins: 
pin-sha256="xxx=";
report-uri="https://..."
Transfer-Encoding: chunked

4
body
0

sPublic-Key-PinssTransfer-EncodingtchunkedRF(RRtRRutassertIsNotNoneRvRBR%(R
Rw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_malformed_truncation�s
cCsOx�dD]�}d}||7}|d7}tjt|��}|j�|j|jd�d�|j|j�d�d|d}tjt|��}|j�|j|j�d�qWd	}tjt|��}|j�|j|jd�d�|j|j�d�d}tjt|��}|j�|j|j�d
�dS(Ns
s
s-HTTP/1.1 200 OK
Transfer-Encoding: chunked
s4
body
0

sTransfer-EncodingRyRFsHTTP/1.0 200 OK
sKHTTP/1.1 200 OK

Name: value
Transfer-Encoding: chunked

4
body
0

R(s
s
(RRtRRuRBRvR%(R
tblankRw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_blank_line_formss*






cCs�d}tjt|��}|j�|j|jd��|j|jd�d�|j|j�d�d}tjt|��}|j�|j|j�d�dS(Ns�HTTP/1.1 200 OK
From start
 continued
Name: value
From middle
 continued
Transfer-Encoding: chunked
From end

4
body
0

tNamesTransfer-EncodingRyRFs#HTTP/1.0 200 OK
From alone

body(RRtRRuRzRvRBR%(R
Rw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_from_line-s

cCs*dttdd��dttdd��d}t|�}tj|�}|j�|j|jd	�d
�|j|jd�d�d
jt	t
tdd���}|j|jd�|�|j|jd��|jd�}|j|j
d��|jd|�|j|jd��dS(Ns0HTTP/1.1 200 OK
!#$%&'*+-.^_`|~: value
VCHAR: i!i~is
obs-text: i�i�sM
obs-fold: text
 folded with space
	folded with tab
Content-Length: 0

sContent-LengthRNs!#$%&'*+-.^_`|~RhRtVCHARsobs-textsobs-foldRs folded with spacesfolded with tabiii(t	bytearraytrangeRRRtRuRBRvRtmaptchrRzRmRnRktendswith(R
RFR>Rwtvchartfolded((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_parse_all_octetsLs4
!cCs�tjd�}td�|_|jdd�ddddddddd d!d"d#d$d%d&d'f}x=|D]5\}}|jtd��|j||�WdQXqkWdS((Nsexample.comRROR<s
Invalid
Namet
ValidValuesInvalid
NamesInvalid
Names

InvalidNames
InvalidNames
InvalidNames InvalidNames	InvalidNamesInvalid:Names:InvalidNamet	ValidNamesInvalid
Values
Invalid
Values
Invalid
ValuesInvalidValue
s
InvalidValue
s
InvalidValue
sInvalid header(s
Invalid
NameR�(sInvalid
NameR�(sInvalid
NameR�(s

InvalidNameR�(s
InvalidNameR�(s
InvalidNameR�(s InvalidNameR�(s	InvalidNameR�(sInvalid:NameR�(s:InvalidNameR�(R�sInvalid
Value(R�s
Invalid
Value(R�s
Invalid
Value(R�sInvalidValue
(R�s
InvalidValue
(R�s
InvalidValue
(RR=RR>RitassertRaisesRegexpt
ValueErrorRj(R
REtcasestnameRh((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_invalid_headersfs,	(RRRHR_RlRpRxR{R}RR�R�(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR+Us		B	"		
		'		t	BasicTestcBs�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cCs�d}t|�}tj|�}|j�|j|jd�d�|j|j��|j|j�d�|j|j��d}t|�}tj|�}|j	tj
|j�dS(NsHTTP/1.1 200 Ok

TextiRtTextsHTTP/1.1 400.100 Not Ok

Text(RRRtRuRBR%tassertFalsetisclosedRmtassertRaisest
BadStatusLine(R
RFR>Rw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_status_lines�s
cCs)tjd�}|jt|�d�dS(NRsBadStatusLine("''",)(RR�RBtrepr(R
texc((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_bad_status_repr�scCs�d}t|�}tj|�}|j�|j|jd�d�|j|j��|j|jd�d�|j|j��dS(Ns*HTTP/1.1 200 Ok
Content-Length: 4

TextitTetxt(	RRRtRuRBR%R�R�Rm(R
RFR>Rw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_partial_reads�s
cCs�d}t|�}tj|�}|j�|j|jd�d�|j|j��|j|jd�d�|j|jd�d�|j|j��dS(NsHTTP/1.1 200 Ok

TextiR�R�iR(	RRRtRuRBR%R�R�Rm(R
RFR>Rw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt$test_partial_reads_no_content_length�s
cCs�d}t|�}tj|�}|j�|j|jd�d�|j|j��|j|jd�d�|j|jd�d�|j|j��dS(Ns+HTTP/1.1 200 Ok
Content-Length: 10

TextiR�R�iR(	RRRtRuRBR%R�R�Rm(R
RFR>Rw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt"test_partial_reads_incomplete_body�s
cCs�x'd
D]}|jtjtj|�qWx�dddddfD]\}}}tj|�}|j}||jkr�|jd||jf�n||jkr@|jd||jf�q@q@WdS(Nswww.python.org:abcsuser:password@www.python.orgs[fe80::207:e9ff:fe9b]:8000sfe80::207:e9ff:fe9bi@swww.python.org:80swww.python.orgiPswww.python.org:s[fe80::207:e9ff:fe9b]s!Host incorrectly parsed: %s != %ss!Port incorrectly parsed: %s != %s(swww.python.org:abcsuser:password@www.python.org(s[fe80::207:e9ff:fe9b]:8000sfe80::207:e9ff:fe9bi@(swww.python.org:80swww.python.orgiP(swww.python.orgswww.python.orgiP(swww.python.org:swww.python.orgiP(s[fe80::207:e9ff:fe9b]sfe80::207:e9ff:fe9biP(R�Rt
InvalidURLtHTTPt_connRtfailR	(R
thpthtpthttptc((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_host_port�s
	cCs`d}d}t|�}tj|�}|j�|jd�}||kr\|jd�ndS(Ns�HTTP/1.1 200 OK
Set-Cookie: Customer="WILE_E_COYOTE"; Version="1"; Path="/acme"
Set-Cookie: Part_Number="Rocket_Launcher_0001"; Version="1"; Path="/acme"

No body
srCustomer="WILE_E_COYOTE"; Version="1"; Path="/acme", Part_Number="Rocket_Launcher_0001"; Version="1"; Path="/acme"s
Set-Cookies&multiple headers not combined properly(RRRtRuRvR�(R
RthdrtsRtcookies((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_response_headers�s
cCsTtdt�}tj|dd�}|j�|j�dkrP|jd�ndS(Ns*HTTP/1.1 200 OK
Content-Length: 14432

R]RRRs)Did not expect response from HEAD request(RR$RRtRuR%R�(R
R>Rw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_read_head�s	
cCsbdjd�td�D��d}d|}t|�}tj|�}|jtj|j�dS(Ns
css|]}d|VqdS(s
Header%d: fooN((t.0ti((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pys	<genexpr>�si�sHTTP/1.1 200 OK
(RtxrangeRRRtR�t
HTTPExceptionRu(R
RGRR�R((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_too_many_headers�s
#
cCs|d}ttd�}tjd�}t|�}||_|jdd|�|j|jj	|��|j
d|j�dS(NsPGET /foo HTTP/1.1
Host: example.com
Accept-Encoding: identity
Content-Length:Rsexample.comROs/foosdef test_send_file(topent__file__RR=RR>RARmRRnRk(R
RoRFRER>((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_send_file�s	cCs�d}tj��X}|jd�|jd�tjd�}t|�}||_|jdd|�WdQX|j	|j
|�dS(Ns_GET /foo HTTP/1.1
Host: example.com
Accept-Encoding: identity
Content-Length: 9

fake
datas	fake
dataisexample.comROs/foo(ttempfilet
TemporaryFiletwritetseekRR=RR>RARBR(R
RoRFRER>((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_send_tempfiles

	cCs�d}tjd�}td�}||_|j|�|j||j�d|_|jtjd|��|j||j�d|_|jt	j	|��|j||j�dS(Ns"this is a test this is only a testsexample.comRR�(
RR=RRR>tsendRBRtarrayR(R
RoRER>((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt	test_sends	
		cCsd}t|d�}tj|dd�}|j�|j|j�d�|j�x�d
D]�}t||�}tj|dd�}|j�zwy|j�WnUtjk
r�}|j|jd�|jt	|�d�|jt
|�d�nX|jd	�Wd|j�Xq\WdS(NsDHTTP/1.1 200 OK
Transfer-Encoding: chunked

a
hello worl
1
d
s0
R]ROshello worldRsfoo
sIncompleteRead(11 bytes read)sIncompleteRead expected(Rsfoo
(RRRtRuRBR%RtIncompleteReadtpartialR�R@R�(R
t
chunked_startR>RwtxR�((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_chunked$s&



cCs�d}t|d�}tj|dd�}|j�|j|j�d�|j|jd�|j|jd�|j|j	��dS(NsEHTTP/1.1 200 OK
Transfer-Encoding: chunked

a
hello world
1
d
s0
R]RRRi�tOK(
RRRtRuRBR%tstatustreasonRmR�(R
R�R>Rw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_chunked_headBs
cCsXtd�}tj|dd�}|j�|j|j�d�|j|j��dS(Ns.HTTP/1.1 200 OK
Content-Length: -1

Hello
R]ROsHello
(RRRtRuRBR%RmR�(R
R>Rw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_negative_content_lengthSs

cCs�td�}tj|dd�}|j�y|j�Wnhtjk
r�}|j|jd�|jt|�d�|jt	|�d�|j
|j��nX|jd�dS(Ns.HTTP/1.1 200 OK
Content-Length: 10

Hello
R]ROsHello
s-IncompleteRead(7 bytes read, 3 more expected)sIncompleteRead expected(
RRRtRuR%R�RBR�R�R@RmR�R�(R
R>RwR�((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_incomplete_read[s
cstdd�}tjd��|�_|jtj�fd���j�}|jd|j	�|jd|j
d��dS(NsgHTTP/1.0 401 Authorization Required
Content-type: text/html
WWW-Authenticate: Basic realm="example"
sContent-Lengthsexample.comcs�jddd�S(NRLs/urlRF(RA((RE(s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt<lambda>tRi�sBasic realm="example"swww-authenticate(RRR=R>R�R R!tgetresponseRBR�Rv(R
R>Rw((REs8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt
test_epipeks			cCs>d}t|�}tj|�}|jt|d�d�dS(NsHTTP/1.1 200 Ok

Texttfilenos-HTTPResponse should expose a fileno attribute(RRRtRmthasattr(R
RFR>Rw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_filenoattrzs
cCsW|jd�dddd}tjt|��}|jtjtjf|j�dS(Nsdisabled for HTTP 0.9 supportsHTTP/1.1 200 Oktkis
(tskipTestRRtRR�tLineTooLongR�Ru(R
RFRw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_overflowing_status_line�s
cCsAdddd}tjt|��}|jtj|j�dS(NsHTTP/1.1 200 OK
X-Foo: barRis

(RRtRR�R�Ru(R
RFRw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_overflowing_header_line�scCsKdddd}tjt|��}|j�|jtj|j�dS(Ns/HTTP/1.1 200 OK
Transfer-Encoding: chunked

RNisa
hello world
0
(RRtRRuR�R�R%(R
RFRw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_overflowing_chunked_line�s
cCsXd}t|�}tj|�}|j�|j|j�d�|j|j��dS(NsHTTP/1.1 200 OkR(RRRtRuRBR%RmR�(R
RFR>Rw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_early_eof�s
cs�tjd�}g�dtjf�fd��Y}||_td�|_|jdd�|jtj|j	�|j
��|j
|jj�dS(Nsexample.comtResponsecseZ�fd�ZRS(cs'�j|�tjj|||�dS(N(R4RRtR(R
tpostkw(tresponse(s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR�s
(RRR((R�(s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR��sRROR<(RR=Rttresponse_classRR>RAR�R�R�RmR(R
RER�((R�s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_error_leak�s	
cCsad}tjddt�}|jd�t|�|_|jtjd��|j	�WdQXdS(Nshello worldsexample.comtstricttfoosInvalid response(
RR=Rt
set_tunnelRR>R�R R!t_tunnel(R
RFRE((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt%test_proxy_tunnel_without_status_line�s
cCsHdtjfd��Y}|d�}td�|_|jdd�dS(sv
        It should be possible to override the default validation
        behavior in putrequest (bpo-38216).
        tUnsafeHTTPConnectioncBseZd�ZRS(cSsdS(N((R
turl((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt_validate_path�s(RRR�(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR��ssexample.comRROs/N(RR=RR>Ri(R
R�RE((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt*test_putrequest_override_domain_validation�scCsNdtjfd��Y}|d�}td�|_|jdddd�dS(	NR�cBseZd�ZRS(cSsdS(N((R
R�((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt_validate_host�s(RRR�(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR��ss
example.com
RROR<t	skip_hosti(RR=RR>Ri(R
R�RE((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt(test_putrequest_override_host_validation�s(RRR�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR��s4				
	
			
										
							
	
tOfflineTestcBseZd�ZRS(cCs|jtjtjd�dS(Ns	Not Found(RBRt	responsest	NOT_FOUND(R
((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_responses�s(RRR�(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR��stTestServerMixincBs eZdZd�Zd�ZRS(skA limited socket server mixin.

    This is used by test cases for testing http connection end points.
    cCs\tjtjtj�|_tj|j�|_tj�|_|jj	d�d|_dS(Ni(R tAF_INETtSOCK_STREAMtservRt	bind_portR	tfind_unused_porttsource_porttlistenRRE(R
((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pytsetUp�s
cCs<|jr"|jj�d|_n|jj�d|_dS(N(RERRR�(R
((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttearDown�s
	

(RRR*R�R�(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR��s	tSourceAddressTestcBs6eZd�Zejeed�d�d��ZRS(cCs[tjt|jdd|jf�|_|jj�|j|jjj	�d|j�dS(Ntsource_addressRi(
RR=tHOSTR	R�REtconnectRBR>tgetsockname(R
((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttestHTTPConnectionSourceAddress�s
tHTTPSConnections#httplib.HTTPSConnection not definedcCs+tjt|jdd|jf�|_dS(NR�R(RR�R�R	R�RE(R
((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt testHTTPSConnectionSourceAddress�s(RRR�tunittesttskipIfR�RR�(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR��s	tHTTPTestcBseZd�Zd�ZRS(cCsjtjdtd|jdd�|_|jj�|j|jjj	t�|j|jjj|j�dS(NRR	R�(
RR�R�R	RRER�RBR�R(R
((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttestHTTPConnections$
cCs�d}d}tjd|d|�|_|jjdtd|j�|j|jjj|�|j|jjj|�|j	|jjjt�|j	|jjj|j�dS(Nsunreachable.test.domaint80RR	(
RR�RER�R�R	tassertNotEqualR�RRB(R
ttesthostttestport((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttestHTTPWithConnectHostPort
s(RRRR(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyRs	tTimeoutTestcBs)eZdZd�Zd�Zd�ZRS(cCsDtjtjtj�|_tj|j�t_|jjd�dS(Ni(	R R�R�R�RR�RtPORTR�(R
((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR�scCs|jj�d|_dS(N(R�RR(R
((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR�s
cCs@|jtj��tjd�z#tjttj�}|j	�Wdtjd�X|j|jj
�d�|j�|jtj��tjd�z)tjttjdd�}|j	�Wdtjd�X|j|jj
�d�|j�tjttjdd�}|j	�|j|jj
�d�|j�dS(sbThis will prove that the timeout gets through
        HTTPConnection and into the socket.
        iNttimeout(tassertIsNoneR tgetdefaulttimeouttsetdefaulttimeoutRR=R�RRR�RRBR>t
gettimeoutR(R
thttpConn((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttestTimeoutAttribute!s*


	

N(RRRRR�R�R(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyRs		t	HTTPSTestcBs}eZd�Zd�Zd�Zd�Zd�Zejd��Z	d�Z
d�Zd�Zd	�Z
d
�Zd�ZRS(cCs#ttd�s|jd�ndS(NR�sssl support required(R�RR�(R
((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR�EscCs ddlm}||d|�S(Ni����(tmake_https_servertcertfile(ttest.ssl_serversR(R
RR((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pytmake_serverIscCs2tjttjdd�}|j|jd�dS(NR	i(RR�R�RRRBR	(R
R�((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_attributesMscCs�ddl}tjd�tjd��Xtjdd�}|j|j��}|jdd�WdQX|j	|j
jd�WdQXdS(Ni����tnetworksself-signed.pythontest.neti�ROR<tCERTIFICATE_VERIFY_FAILED(tsslRtrequiresttransient_internetRR�R�tSSLErrorRARBt	exceptionR�(R
RR�texc_info((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_networkedRs
c	Cs�ddl}tjd�tjd��^|j�}tjddd|�}|jdd�|j�}|j	d|j
d	��WdQXdS(
Ni����Rsself-signed.pythontest.neti�tcontextROR<tnginxtserver(RRRRt_create_stdlib_contextRR�RAR�RkRv(R
RRR�Rw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_networked_noverification\s
	cCsttjd�tjd��Rtjdd�}|jdd�|j�}|jd�}|jd|�WdQXdS(NRswww.python.orgi�ROR<scontent-types	text/html(	RRRRR�RAR�RvRk(R
R�Rwtcontent_type((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt&test_networked_trusted_by_default_cerths
c	Cs�ddl}tjd�tjd���|j|j�}|j|_|jt	�t
jddd|�}|jdd�|j
�}|jd�}|jd	|�WdQXdS(
Ni����Rsself-signed.pythontest.neti�RROR<R!R (RRRRt
SSLContexttPROTOCOL_TLSt
CERT_REQUIREDtverify_modetload_verify_locationst CERT_selfsigned_pythontestdotnetRR�RAR�RvRk(R
RRR�Rwt
server_string((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_networked_good_certss

cCs�ddl}tjd�tjd���|j|j�}|j|_|jt	�t
jddd|�}|j|j
��}|jdd�WdQX|j|jjd�WdQXdS(	Ni����Rsself-signed.pythontest.neti�RROR<R(RRRRR&R'R(R)R*tCERT_localhostRR�R�RRARBRR�(R
RRR�R((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_networked_bad_cert�s

cCsuddl}|jt�}tjd|j�}|j|j��}|jdd�WdQX|j	|j
jd�dS(Ni����t	localhostROR<R(RRR.RR�R	R�RRARBRR�(R
RR!R�R((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_local_unknown_cert�scCs�ddl}|jt�}|j|j�}|j|_|jt�tj	d|j
d|�}|jdd�|j�}|j
|jd�dS(Ni����R0RROs/nonexistenti�(RRR.R&R'R(R)R*RR�R	RAR�RBR�(R
RR!RR�Rw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_local_good_hostname�s
cCs�ddl}|jt�}|j|j�}|j|_t|_|j	t�t
jd|jd|�}|j
|j��|jdd�WdQX|j�t|_t
jd|jd|�}|jdd�|j�}|j|jd�dS(Ni����R0RROR<s/nonexistenti�(RRtCERT_fakehostnameR&R'R(R)Rtcheck_hostnameR*RR�R	R�tCertificateErrorRARRR�RBR�(R
RR!RR�Rw((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_local_bad_hostname�s	

	cCs�x'dD]}|jtjtj|�qWx^d
dddddfD]D\}}}tj|�}|j||j�|j||j�qCWdS(Nswww.python.org:abcsuser:password@www.python.orgs[fe80::207:e9ff:fe9b]:8000sfe80::207:e9ff:fe9bi@swww.python.org:443swww.python.orgi�swww.python.org:s[fe80::207:e9ff:fe9b]s[fe80::207:e9ff:fe9b]:(swww.python.org:abcsuser:password@www.python.org(s[fe80::207:e9ff:fe9b]:8000sfe80::207:e9ff:fe9bi@(swww.python.org:443swww.python.orgi�(swww.python.org:swww.python.orgi�(swww.python.orgswww.python.orgi�(s[fe80::207:e9ff:fe9b]sfe80::207:e9ff:fe9bi�(s[fe80::207:e9ff:fe9b]:sfe80::207:e9ff:fe9bi�(R�RR�R�RBRR	(R
R�R�R�R�((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR��s
(RRR�RRRR#Rtsystem_must_validate_certR%R-R/R1R2R6R�(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyRCs				
			
				tTunnelTestscBseZd�ZRS(cs�d�dd�fd�}tjd�}||_|j�|jt|jd�|j�|jd�|j	ddd�|j
|jjd�|j
|jj
d�|jd	|jj�|jd
|jj�|jd|jj�|jd|jj�|j�|j	d
dd�|j
|jjd�|j
|jj
d�|jd	|jjk�|jd|jjk�dS(Ns:HTTP/1.0 200 OK

HTTP/1.1 200 OK
Content-Length: 42

cst�d|dd|d�S(NRiR	i(R(taddressR	R�(t
response_text(s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pytcreate_connection�ss	proxy.comsdestination.comRRR<RiPsCONNECT destination.comsHost: destination.com:NonesHost: destination.comsHost: proxy.comRL(RRR=t_create_connectionR�R�tRuntimeErrorR�RRARBR>RR	RkRtassertNotInRm(R
R;RE((R:s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyttest_connect�s*	



(RRR?(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyR8�sc	Cs&tjtttttttt	�dS(N(
Rtrun_unittestR+R�R�RRRR�R8(tverbose((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt	test_main�s	t__main__(%RRWR�RR R"tosR�R�tTestCasettestRtpathtdirnameR�thereRR.R3R+R�RRR$R+R�R�R�R�RRRR8treap_threadsRRBR(((s8/usr/local/python-2.7/lib/python2.7/test/test_httplib.pyt<module>sB		�0�W.�)
© 2025 GrazzMean