bgddlZddlZddlmZddlmZddlmZddlm Z m Z ddl m Z m Z ddlmZmZmZmZmZddlmZmZdd lmZmZmZdd lmZdd lmZ dd lm Z!dd l"m#Z#m$Z$ddl%m&Z&n#e'$r edwxYwddl(m)Z)e)r$ddl*m+Z+ddl*m,Z,ddl*m-Z-ddl*m.Z.ddl*m/Z/ddl(m0Z0GddeZ1ej2dZ3dZ4dZ5GddeZ6dS)N)iscoroutinefunction)continue_trace)OP)Hub_should_send_default_pii)TRANSACTION_SOURCE_COMPONENTTRANSACTION_SOURCE_ROUTE)HAS_REAL_CONTEXTVARSCONTEXTVARS_ERROR_MESSAGEevent_from_exceptioncapture_internal_exceptionstransaction_from_function) Integration DidNotEnable)RequestExtractor_filter_headers_is_json_content_type) ignore_logger) iteritems) version_info)RequestHandler HTTPError) coroutinezTornado not installed) TYPE_CHECKING)Any)Optional)Dict)Callable) Generator)EventProcessorc(eZdZdZedZdS)TornadoIntegrationtornadocTtdkrtdtstdtzt dt jt}|rfd}ntfd}|t _t j fd}|t _ dS)N)rzTornado 5+ requiredzUThe tornado integration for Sentry requires Python 3.7+ or the aiocontextvars packageztornado.accessc~Kt|5|g|Ri|d{VcdddS#1swxYwYdSN_handle_request_impl)selfargskwargs old_executes V/opt/cloudlinux/venv/lib64/python3.11/site-packages/sentry_sdk/integrations/tornado.pysentry_execute_request_handlerzETornadoIntegration.setup_once..sentry_execute_request_handlerIs)$//DD!,T!CD!C!C!CF!C!CCCCCCCDDDDDDDDDDDDDDDDDDs 266c?Kt|5|g|Ri|Ed{V}|cdddS#1swxYwYdSr'r()r*r+r,resultr-s r.r/zETornadoIntegration.setup_once..sentry_execute_request_handlerPs*$//""(3 D(J4(J(J(J6(J(JJJJJJJF!""""""""""""""""""s 488cDt|||||||g|Ri|Sr')_capture_exception)r*tyvaluetbr+r,old_log_exceptions r.sentry_log_exceptionz;TornadoIntegration.setup_once..sentry_log_exception[s< r5" - - -$$T2ubJ4JJJ6JJ J) TORNADO_VERSIONrr r rr_executerr log_exception) awaitabler/r8r-r7s @@r. setup_oncezTornadoIntegration.setup_once2s V # #455 5# g+,  &'''$- ' 44  " D D D D D D " " " "Y " #A*8 K K K K K (<$$$r9N)__name__ __module__ __qualname__ identifier staticmethodr>r9r.r"r"/s2J-<-<\-<-<-}||S|j}t5t||jj}t ||d<dt i|d<dddn #1swxYwYt5t|}|||d}|j d|j |j |d<|j |d<|j|d<d |j i|d <tt|j|d <dddn #1swxYwYt5|jr8t%r*|d id ddddn #1swxYwY|S)Nr\rHtransaction_inforOz://url query_stringmethod REMOTE_ADDRenvrPuseris_authenticatedT)rOr getattrrmlowerrrTornadoRequestExtractorextract_into_eventprotocolhostpathquery remote_iprdictrP current_userr setdefault)rgrbhandlerrOrm extractor request_inforYs r.tornado_processorz0_make_event_processor..tornado_processors,.. ?L/ ( * * Q QWgo&<&B&B&D&DEEF#z3TornadoRequestExtractor.cookies..s GGGtq!17GGGr9)rrOcookiesrs r.rzTornadoRequestExtractor.cookiess#GGy1E'F'FGGGGr9c|jjSr')rOrrs r.raw_dataz TornadoRequestExtractor.raw_datas |  r9cHdt|jjDS)Nc.i|]\}}|d|DS)c:g|]}|ddS)latin1replace)decode)rrs r. z;TornadoRequestExtractor.form...s&:::!9--:::r9rD)rrvss r.rz0TornadoRequestExtractor.form..s=   2 ::r:::   r9)rrObody_argumentsrs r.formzTornadoRequestExtractor.forms0  "4<#>??    r9cZt|jjdS)Nz content-type)rrOrPgetrs r.is_jsonzTornadoRequestExtractor.is_jsons#$T\%9%=%=n%M%MNNNr9cHdt|jjDS)Nc*i|]\}}|||dS)rrDrs r.rz1TornadoRequestExtractor.files..s'GGGDAqQG1Q4GGGr9)rrOfilesrs r.rzTornadoRequestExtractor.filess#GGIdl.@$A$AGGGGr9c.t|jpdS)NrD)rr)r*files r. size_of_filez$TornadoRequestExtractor.size_of_files49?###r9N) r?r@rArrrrrrrrDr9r.rtrts&&& HHH!!!   OOOHHH$$$$$r9rt)7rM contextlibinspectrsentry_sdk.apirsentry_sdk.constsrsentry_sdk.hubrrsentry_sdk.tracingrr sentry_sdk.utilsr r r r rsentry_sdk.integrationsrr$sentry_sdk.integrations._wsgi_commonrrrsentry_sdk.integrations.loggingrsentry_sdk._compatrr#rr: tornado.webrr tornado.genr ImportErrorsentry_sdk._typesrtypingrrrrrr r"contextmanagerr)r3rSrtrDr9r.rs'''''')))))) 88888888>======= :99999((((((077777755555555%%%%%%%000 ,. / //0,+++++1      0000001<1<1<1<1<1<1<1