c(dZddlZddlZddlZddlmZ ddlZddlmZn#e $rddl m Zddl mZYnwxYwddl mZmZmZmZmZddlmZmZmZejeZ iZiZ Gd d Z! ddl"Z"ej#d krFee"jedkr)ddl$Z%e%j&j'j(Z)dZ*e*e%j&j'_(Gdde"j+e!Z,e,ed<e -dg.de -dg.de -dg.dn #e $rdZYnwxYwGdde!Z/e/ed<e -dg.dej0dkr)e -dg.d ddl1Z1 ddl2m3Z3n$#e $r ddl3m3Z3n#e $r ddl4m3Z3YnwxYwYnwxYwGdde!Z5e5ed<e -dg.de -dg.de -dg.dn #e $rYnwxYwGdd Z6dgfd!Z7dgfd"Z8d#Z9e8dS)$z%Pythonic simple SOAP Client transportN) LooseVersion) CookieJar)request) __author__ __copyright__ __license__ __version__TIMEOUT)SimpleXMLElementTYPE_MAPStructFct|||}|tjkr+|tjtjd|S)Nr) realsocketsocket SOCK_STREAM setsockopt IPPROTO_TCP TCP_NODELAY)familytypeprotosockobjs 8/usr/lib/python3/dist-packages/pysimplesoap/transport.py socketwrapr+sDVT511 6% % %   v163Eq I I Ic$eZdZedZdS) TransportBasec*|jt|vSN) _wrapper_name_http_facilities)cls feature_names rsupports_featurezTransportBase.supports_feature:s $4\$BBBrN)__name__ __module__ __qualname__ classmethodr%rrrr9s2CC[CCCrr3z0.7.7c f| dddz } t|||||||| dS)N"disable_ssl_certificate_validationT)portkey_file cert_filetimeoutcontextcheck_hostname)get orig__init__) selfhostr.r/r0r1r2r3argskwargschks rfixerr;IsN**A4HH4OC t$#Wg" $ $ $ $ $ $rc.eZdZdejzZdZddZdS)Httplib2Transportz httplib2 %shttplib2NFc~i}|r ProxyInfoPROXY_TYPE_HTTPloginforr Http__init__)r6r1proxycacertsessionsr9rCs rrIzHttplib2Transport.__init__XsF 3 '/'9'd'dUEZ'd^c'd'd|$)E1222H011\'5J5JJJ$+y!H011\'5J5JJJ?E~;<%+z" M "4 2 26 2 2 2 2 2rNNF)r&r'r(r>r _wrapper_versionr!rIr*rrr=r=Ts;(8+??"  3 3 3 3 3 3rr=r>rJrKr1c<eZdZdejzZdZddZddifdZdS) urllib2Transportz urllib2 %surllib2NFc|$|dstd|rtd|rtdg}tjddkrtjdks&tjddkrctjd krSt j}d |_tj|_| tj | |r3| tj ttj|}|j|_||_dS) Nr1z/timeout is not supported with urllib2 transportz-proxy is not supported with urllib2 transportz,cacert is not support with urllib2 transportr)rS )rVrSrF)r2)r% RuntimeErrorsys version_infosslcreate_default_contextr3 CERT_NONE verify_modeappendrQ HTTPSHandlerHTTPCookieProcessorr build_openeropenrequest_opener_timeout)r6r1rJrKrLhandlersr2openers rrIzurllib2Transport.__init__us+  )>)>y)I)I PQQ Q  PNOO O  OMNN N  a A % %#*:g*E*E  a A % %#*:g*E*E022G%*G ""%-G  OOG0AAA B B B  F OOG7 DD E E E%x0$k rGETcXtj|||} |||j}||fS#tj$r>}|jdkr||fcYd}~Sd}~wwxYw)N)r1i)rQRequestrcrdrGread HTTPErrorcode)r6urlmethodbodyheadersreqfs rrzurllib2Transport.requestsoc411 &##C#??A6688QVVXX% %  & & &v}}6688QVVXX% % % % % % % &sAAB)+3B$B)$B))NNNF) r&r'r(rQr rNr!rIrr*rrrPrPqsX#g&99M    0#(dB&&&&&&rrPrQrL)rS)StringIOc.eZdZejZdZddZdZdS)pycurlTransportpycurlNFc4||_|pi|_||_dSr )r1rJrK)r6r1rJrKrLs rrIzpycurlTransport.__init__s"DL"DJ DKKKrc`tj}|tj|d|jvr+|tj|jdd|jvr+|tj|jdd|jvr(|tjd|jzt|_ |tj |j j |j r ||j |j |tj|j rdpd|tj|j rdpd|tj|j|tj|j|dkr@|tjd|tj||rXd |D}t,||tj|||i|j fS) N proxy_host proxy_port proxy_userz%(proxy_user)s:%(proxy_pass)srrrSPOSTc"g|] \}}|d| S)z: r*).0kvs r z+pycurlTransport.request..s'FFFdaAAAqq)FFFr)rwCurlsetoptURLrJPROXY PROXYPORT PROXYUSERPWDrtbuf WRITEFUNCTIONwriterKCAINFOSSL_VERIFYPEERSSL_VERIFYHOSTCONNECTTIMEOUTr1r r} POSTFIELDSitemsrFdebug HTTPHEADERperformclosegetvalue)r6rmrnrorpchdrss rrzpycurlTransport.requests A HHVZ % % %tz))tz,'?@@@tz)))4:l+CDDDtz)),.MPTPZ.Z[[[zzDH HHV)48> : : :{ 04;/// HHV*DK,=A,B C C C HHV*DK,=A,B C C C HHV*DL 9 9 9 HHV^T\ 2 2 2a(((*D111 2FFgmmooFFF $*D111 IIKKK GGIIItx((*** *rrM) r&r'r(rwversionrNr!rIrr*rrrvrvsD!>  ! ! ! !  + + + + +rrvrwceZdZdZdZdZdS)DummyTransportz$Testing class to load a xml responsec||_dSr ) xml_response)r6rs rrIzDummyTransport.__init__s(rctd||t|t|i|jfS)Nz%s %s)rFrr)r6locationrnrorps rrzDummyTransport.requestsG '68,,, ' $4$$$rN)r&r'r(__doc__rIrr*rrrrs8..)))%%%%%rrc|. t|S#t$rt|dwxYw|s&tdtdSt}g}|D]=}|D]4}|t |gvr||5|}g}> |d}t|S#t$rtd|wxYw)Nz transport is not availabler>rQrz6no transport available which supports these features: )_http_connectorsKeyErrorrWr4keysr"r^ IndexError)libraryfeaturescurrent_candidatesnew_candidatesfeature candidatecandidate_names rget_http_wrapperrs= M#G, , M M M'''KLL L M M##J0@0KLLL*..00N+ 1 1I,00"====%%i000+0+A. // eeelYaYacdddes .5C C'c0t||atS)z'Set a suitable HTTP connection wrapper.)rrH)rrs rset_http_wrapperr s GX . .D KrctS)zReturn current transport class)rHr*rrget_Httprs  Kr):rloggingrZrXdistutils.versionrrQ cookielibr ImportErrorurllibrhttp.cookiejarrrr r r simplexmlr r r getLoggerr&rFrrAF_INETrrrr"rr>r http.clienthttpclientHTTPSConnectionrIr5r;rHr= setdefaultr^rPrYrw cStringIOrtiorvrrrrr*rrrs,+ ******)NNN#######)))))))))(((((((()KJJJJJJJJJJJJJ9999999999g!!CCCCCCCC*BOOO {S\\(*>??<>> 2..55h????m   D r % % % % % % % %"B0000B"Bsg !553AEE'&E'J G''H-G43H4 H?HHHHJ"!J"