Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
ó
·EYc@s…ddlZddlZddlZddlmZddlmZddlmZddlm	Z	ddl
Z
ddlZddlZyddl
Z
Wnek
r·ddlZ
nXddlmZddlmZddlmZejd	ƒZejeƒZd
ZdZd
Zd„Zdefd„ƒYZdefd„ƒYZ d„Z!dej"efd„ƒYZ#ddd„Z%dS(iÿÿÿÿN(tadapter(t
exceptions(timportutils(tnetutils(tencodeutils(tutils(texcsosprofiler.webspython-glanceclientii@sX-OpenStack-Request-IDcCstd„tj|ƒDƒƒS(sÐEncodes headers.

    Note: This should be used right before
    sending anything out.

    :param headers: Headers to encode
    :returns: Dictionary with encoded headers'
              names and values
    css?|]5\}}|dk	rtj|ƒtj|ƒfVqdS(N(tNoneRtsafe_encode(t.0thtv((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pys	<genexpr>8s(tdicttsixt	iteritems(theaders((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pytencode_headers.s
	t_BaseHTTPClientcBs)eZed„ƒZd„Zd„ZRS(ccs5|}x(|r0|jtƒ}|s(Pn|Vq	WdS(N(treadt	CHUNKSIZE(tbodytchunk((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pyt_chunk_body>s	cCs |jddƒ}|jddƒ}|dk	r‚t|tjƒr‚ytj|ƒ}d}Wq‚tk
r~|j	|ƒ}q‚Xn||d<|dk|d<|S(s6Handle the common parameters used to send the request.sContent-Typesapplication/octet-streamtdatasapplication/jsontstreamN(
tgettpopRt
isinstanceR
tstring_typestjsontdumpst	TypeErrorR(tselfRtkwargstcontent_typeR((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pyt_set_common_request_kwargsGs


cCs,|js4tjd|jƒtj||jƒ‚n9|jtjj	krm|j
jdkrmtj|ƒ‚n|jj
dƒ}|dkrt|tƒ}n…|j}|rÊ|jdƒrÊ|jƒ}nXtj|ƒ}y/tjdjg|D]}|^q}Wntk
r!d}nX||fS(Ns#Request returned failure status %s.s	/versionssContent-Typesapplication/octet-streamsapplication/jsont(toktLOGtdebugtstatus_codeRt
from_responsetcontenttrequeststcodestMULTIPLE_CHOICEStrequesttpath_urlRRt_close_after_streamRttextt
startswithRR
tStringIOtloadstjoint
ValueErrorR(R trespR"t	body_iterR*tc((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pyt_handle_response_s$		/

(t__name__t
__module__tstaticmethodRR#R:(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pyR<s		t
HTTPClientcBsweZd„Zed„ƒZd„Zed„ƒZd„Zd„Zd„Z	d„Z
d„Zd	„Zd
„Z
RS(cKs™||_|jdƒ|_|jdƒ|_|jdƒ|_|jdƒ|_|jrx|jjd|jƒ|_ntjƒ|_	t
|j	jd<|jr¶|j|j	jd<nt|jdd	ƒƒ|_
|jjd
ƒr•|jdtƒ}|tkrtjdtƒn|jd
tƒtkr;t|j	_n3|jddƒdk	rn|jdtƒ|j	_n|jdƒ|jdƒf|j	_ndS(Ntidentity_headersttokentlanguage_headertglobal_request_idsX-Auth-Tokens
User-AgentsAccept-LanguagettimeoutiXthttpstssl_compressions3The "ssl_compression" argument has been deprecated.tinsecuretcacertR$t	cert_filetkey_file(tendpointRR?t
auth_tokenRARBRR+tSessiontsessiont
USER_AGENTRtfloatRCR2tTruetFalsetwarningstwarntDeprecationWarningtverifyRtcert(R RJR!tcompression((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pyt__init__s0				
cCs
tj|ƒS(N(Rturlsplit(RJ((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pytparse_endpoint¥scCsad|g}tj|ƒ}|j|jjƒx@tj|ƒD]/\}}dtj||ƒ}	|j	|	ƒq?W|jj
sŽ|j	dƒn2t|jj
tjƒrÀ|j	d|jj
ƒn|jj
ræ|j	d|jj
ƒn|rt|tjƒr|j	d|ƒn|j	|ƒdjg|D]}
tj|
dd	ƒ^q,ƒ}tj|ƒdS(
Nscurl -g -i -X %ss-H '%s: %s's-ks --cacert %ss --cert %s --key %ss-d '%s't terrorstignore(tcopytdeepcopytupdateRMRR
RRtsafe_headertappendRURRRVR5Rtsafe_decodeR&R'(R tmethodturlRRR!tcurltkeytvaluetheadertitemtmsg((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pytlog_curl_request©s$

	(cCsñ|jjd|j|jf}d|g}|jjƒ}|jg|D]"\}}dtj||ƒ^qHƒ|j	dƒ|jj
dƒ}|dkrµ|j|jdgƒntj
djg|D]}tj|dd	ƒ^qȃƒdS(
Ng$@s
HTTP/%.1f %s %ss%s: %sR$sContent-Typesapplication/octet-streams
R\R](trawtversionR(treasonRtitemstextendRRaRbRR1R&R'R5RRc(R7tstatustdumpRtkRR"tx((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pytlog_http_responseÅs
6
c	Ksêtj|jdiƒƒ}|jrZx3tj|jƒD]\}}|j||ƒq7Wn|j||ƒ}|jdƒs‹|j	|d<n|j
rª|jt|j
ƒntrÆ|j
tjƒƒnt|ƒ}|jjdƒsó|jdƒr	d|j|f}nd|j|f}|j|||||ƒy(|jj||d|d||}	Wntjjk
r£}
dtd|d	|
ƒ}tjd
|ƒ‚nÒtjjk
ræ}
dtd|d	|
ƒ}tjd
|ƒ‚ntjk
r }
d|j |
f}tjd
|ƒ‚nUtj!tj"t#fk
rt}
|j}d
i|d6|
d	6}tjd
|ƒ‚nX|	j$jdƒ}
|
r¾t%j&di|	jj'd6|	j(d6|
d6ƒn|j)|	ƒ\}	}|j*|	ƒ|	|fS(s¿Send an http request with the specified characteristics.

        Wrapper around httplib.HTTP(S)Connection.request to handle tasks such
        as setting headers and error handling.
        RsX-Auth-Tokent/s%s%ss%s/%sRs'Error communicating with %(url)s: %(e)sRetetmessages(Error finding address for %(url)s: %(e)ss Error finding address for %s: %ss+Error communicating with %(endpoint)s %(e)sRJsx-openstack-request-idsL%(method)s call to image for %(url)s used request id %(response_request_id)sRdtresponse_request_id(+R^R_RR?R
Rt
setdefaultR#RRKRBt
REQ_ID_HEADERtosprofiler_webR`tget_trace_id_headersRRJtendswithR2RlRMR.R+RtTimeoutRRtInvalidEndpointtConnectionErrortCommunicationErrortsockettgaierrortendpoint_hostnameterrorRCtIOErrorRR&R'RdReR:Rv(R RdReR!RRtRRtconn_urlR7RxRyRJt
request_idR8((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pyt_requestÓs`		!
		

cKs|jd||S(NtHEAD(R‹(R ReR!((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pytheadscKs|jd||S(NtGET(R‹(R ReR!((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pyR scKs|jd||S(NtPOST(R‹(R ReR!((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pytpost#scKs|jd||S(NtPUT(R‹(R ReR!((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pytput&scKs|jd||S(NtPATCH(R‹(R ReR!((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pytpatch)scKs|jd||S(NtDELETE(R‹(R ReR!((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pytdelete,s(R;R<RXR=RZRlRvR‹RRRR’R”R–(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pyR>s	$		J					ccs0x|jd|ƒD]}|VqW|jƒdS(sAIterate over the content and ensure the response is closed after.t
chunk_sizeN(titer_contenttclose(tresponseR—R((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pyR00s	t
SessionClientcBseZd„Zd„ZRS(cKsR|jdtƒ|jddƒ|jddƒ|_tt|ƒj||dS(Nt
user_agenttservice_typetimageRB(R{RNRRRBtsuperR›RX(R RMR!((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pyRX=sc
KsŒ|jdiƒ}|jr1|jt|jƒnt|d<|j||ƒ}y4tt|ƒj||dt	|ƒd||}Wnût
jk
r}|jd|j
dƒƒ}d|jdƒ|jdƒf}dtd|d	|ƒ}	tjd
|	ƒ‚n~t
jk
r~}|jd|j
dƒƒ}d|jdƒ|jdƒf}dtd|d	|ƒ}	tjd
|	ƒ‚nX|j|ƒS(NRt	raise_excRtauths%s/%sRws&Error communicating with %(url)s %(e)sReRxRys(Error finding address for %(url)s: %(e)s(RRBR{R|RQR#RŸR›R.Rtksa_exctConnectTimeouttget_endpointRtrstriptlstripRRRtConnectFailureRƒR:(
R ReRdR!RRR7RxR‰Ry((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pyR.Cs2	

""(R;R<RXR.(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pyR›;s	cKs6|rt||S|r&t||Stdƒ‚dS(NsBConstructing a client must contain either an endpoint or a session(R›R>tAttributeError(RJRMR!((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pytget_http_clientcs


i(&R^tloggingR„t
keystoneauth1RRR¢t
oslo_utilsRRR+R
RRRtImportErrort
simplejsonRtglanceclient.commonRtglanceclientRt
try_importR}t	getLoggerR;R&RNRR|RtobjectRR>R0tAdapterR›RR©(((sM/home/tvault/.virtenv/lib/python2.7/site-packages/glanceclient/common/http.pyt<module>s6
	C±	(