bg; ddlZddlZddlZddlZddlmZmZddlmZddl m Z ddl m Z ddl mZmZddlmZmZmZmZmZddlmZer&dd lmZdd lmZdd lmZdd lmZdd lmZddlmZmZ ddl m!Z!n#e"$r ddl#m!Z!YnwxYwej$dej%ddzej&dZ'Gdde Z(dZ)ddZ*dZ+dZ,dS)N)OPSPANDATA)Hub) Integration)add_global_event_processor)EnvironHeadersshould_propagate_trace)SENSITIVE_DATA_SUBSTITUTEcapture_internal_exceptionslogger safe_repr parse_url) TYPE_CHECKING)Any)Callable)Dict)Optional)List)EventHint)HTTPConnectionz%s.%s.%s)nameversionbuildc(eZdZdZedZdS)StdlibIntegrationstdlibc^tttd}dS)Nctjt9|di}t |t rd|vr t|d<|S)Ncontextsruntime)rcurrentget_integrationr setdefault isinstancedict_RUNTIME_CONTEXT)eventhintr!s U/opt/cloudlinux/venv/lib64/python3.11/site-packages/sentry_sdk/integrations/stdlib.pyadd_python_runtime_contextz@StdlibIntegration.setup_once..add_python_runtime_context5s[{**+<==I ++J;;h--;)82K2K*:HY'L)_install_httplib_install_subprocessr)r,s r+ setup_oncezStdlibIntegration.setup_once/s@  #   $ #   r-N)__name__ __module__ __qualname__ identifier staticmethodr0r-r+rr,s2J  \   r-rc~tjtjfd}fd}|t_|t_dS)Nctj}|t|||g|Ri|S|j}|j}|j}|} | | ds|dkrdpdd|||krd|zpd|} d} t5t| d } dddn #1swxYwY| tj |d | r| j nt } | t j|| e| d | j | t j| j| t j| j|||g|Ri|} t-|| r[|| D]E\} }t1jd | || || |F| |_| S)N)zhttp://zhttps://ihttpshttpz://z:%sF)sanitize op descriptionurlzJ[Tracing] Adding `{key}` header {value} to outgoing request to {real_url}.)keyvaluereal_url)rr#r$rhostport default_port startswithr r start_spanr HTTP_CLIENTrAr set_datar HTTP_METHOD HTTP_QUERYquery HTTP_FRAGMENTfragmentr iter_trace_propagation_headersr debugformat putheader_sentrysdk_span)selfmethodrAargskwargshubrErFrGrD parsed_urlspanrvrBrCreal_putrequests r+ putrequestz$_install_httplib..putrequestEsk   0 1 1 9"?4FtFFFvFF Fyy(   8#6#67N#O#O #/9699 $5;; H ( * * = ="8e<<.getresponsewst.55 <##D:4:::6:: :  d 4T 4 4 4V 4 4 S^^,,, h ***  r-)rr_rh)r_rhrgr^s @@r+r.r.@s`$/O%100000d     !+N!,Nr-c||vr||}| ||}||||<nD|t|kr||}| ||}||||<n|o |d}||||<|S)a? given (*args, **kwargs) of a function call, retrieve (and optionally set a default for) an argument by either name or position. This is useful for wrapping functions with complex type signatures and extracting a few arguments without needing to redefine that function's entire type signature. N)len)rXrYrpositionsetdefault_callbackr]s r+_init_argumentrms v~~ D\  *$$R((B >F4L CII   (^  *$$R((B >DN >%8%8%>%> >F4L Ir-ctjjfd}|tj_tjjfd}|tj_tjjfd}|tj_dS)Nc tj}|t  |g|Ri|St |}t ||ddpg}t ||dd}d}t |ttfrat|dkrNt5d tt|}dddn #1swxYwY|t|}d}|tj|5}||D]I\} } |t ||dd d }| |d | d d z<J|r|d| |g|Ri|} |d|j| cdddS#1swxYwYdS)NrXrcwd dr=r>env c8t|p tjSN)r'osenviron)xs r+zH_install_subprocess..sentry_patched_popen_init..sDbj4I4Ir- SUBPROCESS_-_zsubprocess.cwdsubprocess.pid)rr#r$rlistrmr&tuplerjr joinmapstrr rIr SUBPROCESSrQupperreplacerKset_tagpid) rVakwrZrXrpr@rsr\kvr]old_popen_inits r+sentry_patched_popen_initz6_install_subprocess..sentry_patched_popen_initsyk   0 1 1 9!>$1111b11 1 GGaVQ//52QE1-- dT5M * * 7s4yy3,.. 7 7!hhs3~~66  7 7 7 7 7 7 7 7 7 7 7 7 7 7 7  #D//K ^^r}+^ F F $::4@@ E E1;(2ub*I*ICDEMAGGII$5$5c3$?$??@@ 5 .444/q///B//B LL)48 4 4 4                  s%()CC!$C!B G  G G c*tj}|t |g|Ri|S|t j5}|d|j|g|Ri|cdddS#1swxYwYdSN)r?r~) rr#r$rrIrSUBPROCESS_WAITrr)rVrrrZr\old_popen_waits r+sentry_patched_popen_waitz6_install_subprocess..sentry_patched_popen_waitsk   0 1 1 9!>$1111b11 1 ^^r1^ 2 2 2d LL)48 4 4 4!>$1111b11 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2'BB B c*tj}|t |g|Ri|S|t j5}|d|j|g|Ri|cdddS#1swxYwYdSr) rr#r$rrIrSUBPROCESS_COMMUNICATErr)rVrrrZr\old_popen_communicates r+ sentry_patched_popen_communicatez=_install_subprocess..sentry_patched_popen_communicatesk   0 1 1 9((8888R88 8 ^^r8^ 9 9 9T LL)48 4 4 4((8888R88 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9r) subprocessPopen__init__wait communicate)rrrrrrs @@@r+r/r/s%.N-----^!:J%*N 2 2 2 2 26J&,8 9 9 9 9 9$DJ   r-c8ttjdS)Nr{)prefix)rrwrxr6r-r+"get_subprocess_traceparent_headersrs "*] ; ; ;;r-rv)-rwrsysplatformsentry_sdk.constsrrsentry_sdk.hubrsentry_sdk.integrationsrsentry_sdk.scopersentry_sdk.tracing_utilsrr sentry_sdk.utilsr r r r rsentry_sdk._typesrtypingrrrrrrrhttplibr ImportError http.clientpython_implementation version_inforr(rr.rmr/rr6r-r+rsi  ********//////777777KKKKKKKK,+++++.--------+&&&&&&&+++********+ +H * , ,S-bqb12 [ (G-G-G-T>QDQDQDh<<<<