bgddlZddlmZddlmZmZddlmZddlm Z m Z ddl m Z e rddl Z ddlmZddlmZdd lmZdd lmZd Zed eDZd ZGddeZdZdZdS)N)deepcopy)Hub_should_send_default_pii)AnnotatedValue) text_type iteritems) TYPE_CHECKING)Any)Dict)Optional)Union) REMOTE_ADDRHTTP_X_FORWARDED_FORHTTP_SET_COOKIE HTTP_COOKIEHTTP_AUTHORIZATIONHTTP_X_API_KEYrHTTP_X_REAL_IPc#nK|]0}|d|tddV1dS)HTTP_N) startswithlen).0xs [/opt/cloudlinux/venv/lib64/python3.11/site-packages/sentry_sdk/integrations/_wsgi_common.py rsVQ\\'5J5Jc'llnncb|dS|jd}|dkp|dko|dkp |dko|dk S)NFmax_request_body_sizeneversmallimediumi')options)clientcontent_lengthbodiess rrequest_body_within_boundsr'#sY ~u ^3 4F' ; g  8.5"8 ; h  9>E#9 rcVeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d Zd S)RequestExtractorc||_dSN)request)selfr,s r__init__zRequestExtractor.__init__1s  rctjj}|dSd}|}|di}t r$t ||d<t||stj }nC| }||}n*| rtj }nd}|||d<t||d<dS)Nr,cookiesdata)rcurrentr$r%getrdictr0r'rremoved_because_over_size_limit parsed_bodyraw_dataremoved_because_raw_datar)r-eventr$r1r% request_infor6s rextract_into_eventz#RequestExtractor.extract_into_event5s# > F,,..yyB// # % % ;&*4<<>>&:&:L #)&.AA !ACCDD**,,K&" %>@@  #'L #L11irc t|ddS#t$rYdSwxYw)NCONTENT_LENGTHr)intenvr3 ValueErrorr-s rr%zRequestExtractor.content_lengthSsN txxzz~~&6::;; ;   11 s47 AActr+NotImplementedErrorrAs rr0zRequestExtractor.cookiesZ!###rctr+rCrAs rr7zRequestExtractor.raw_data^rErctr+rCrAs rformzRequestExtractor.formbrErc|}|}|s|rItt|}t|D]\}}t j||<|S|Sr+)rHfilesr4rrr8json)r-rHrJr1key_s rr6zRequestExtractor.parsed_bodyfsyy{{   5  $((D#E** F FQ*CEES Kyy{{rcjt|dS)N CONTENT_TYPE)_is_json_content_typer?r3rAs ris_jsonzRequestExtractor.is_jsonss$$TXXZZ^^N%C%CDDDrc$ |sdS|}|dSt|trt j|St j|dS#t$rYnwxYwdS)Nzutf-8)rQr7 isinstancerrKloadsdecoder@)r-r7s rrKzRequestExtractor.jsonws <<>> t}}Ht(I.. <z(+++z(//'":":;;;    D ts!BB(B&B B  B ctr+rCrAs rrJzRequestExtractor.filesrErctr+rC)r-files r size_of_filezRequestExtractor.size_of_filerErctr+rCrAs rr?zRequestExtractor.envrErN)__name__ __module__ __qualname__r.r;r%r0r7rHr6rQrKrJrYr?rrr)r)0s222<$$$$$$$$$   EEE&$$$$$$$$$$$rr)c|pdddd}|dkp)|do|dS)N;rzapplication/jsonz application/z+json)splitrendswith)ctmts rrPrPsV (  #q ! !! $B    ! MM. ) ) ! KK rcTtr|Sdt|DS)Nci|]J\}}||ddtvr|ntjKS)-rM)upperreplaceSENSITIVE_HEADERSrr5)rkvs r z#_filter_headers..se    Aq wwyy  c**2CCC A?AA    r)rr)headerss r_filter_headersrqs@!!   g&&    r)rKcopyrsentry_sdk.hubrrsentry_sdk.utilsrsentry_sdk._compatrrsentry_sdk._typesr sentry_sdktypingr r r r SENSITIVE_ENV_KEYStuplerlr'objectr)rPrqr^rrr|sr 88888888++++++33333333++++++ E1   d$d$d$d$d$vd$d$d$N     r