Ë
    S>{i¹  ã                   óÖ   — d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZ erd dlZd dlmZ d dlmZ d d	lmZ d d
lmZ dZ ed„ eD «       «      Zd„ Z G d„ de«      Zd„ Zd„ Zy)é    N)Údeepcopy)ÚHubÚ_should_send_default_pii)ÚAnnotatedValue)Ú	text_typeÚ	iteritems)ÚTYPE_CHECKING)ÚAny)ÚDict)ÚOptional)ÚUnion)ÚREMOTE_ADDRÚHTTP_X_FORWARDED_FORÚHTTP_SET_COOKIEÚHTTP_COOKIEÚHTTP_AUTHORIZATIONÚHTTP_X_API_KEYr   ÚHTTP_X_REAL_IPc              #   ó\   K  — | ]$  }|j                  d «      sŒ|t        d «      d –— Œ& y­w)ÚHTTP_N)Ú
startswithÚlen)Ú.0Úxs     úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sentry_sdk/integrations/_wsgi_common.pyú	<genexpr>r      s+   è ø€ ò Ø°Q·\±\À'Õ5J€A„cˆ'ƒl€nÔñùs   ‚,™,c                 ój   — | €y| j                   d   }|dk(  xs |dk(  xr |dkD  xs |dk(  xr |dkD   S )NFÚmax_request_body_sizeÚneverÚsmalliè  Úmediumi'  )Úoptions)ÚclientÚcontent_lengthÚbodiess      r   Úrequest_body_within_boundsr&   #   sY   € à€~Øà�^‰^Ð3Ñ4€Fà�'Ñò 	;Ø�gÑÒ8 .°5Ñ"8ò	;à�hÑÒ9 >°EÑ#9ðð ó    c                   óT   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zy)ÚRequestExtractorc                 ó   — || _         y ©N)Úrequest)Úselfr,   s     r   Ú__init__zRequestExtractor.__init__1   s	   € àˆ�r'   c                 ó¶  — t         j                  j                  }|€y d }| j                  «       }|j	                  di «      }t        «       rt        | j                  «       «      |d<   t        ||«      st        j                  «       }n<| j                  «       }|�|}n'| j                  «       rt        j                  «       }nd }|�||d<   t        |«      |d<   y )Nr,   ÚcookiesÚdata)r   Úcurrentr#   r$   Úgetr   Údictr0   r&   r   Úremoved_because_over_size_limitÚparsed_bodyÚraw_dataÚremoved_because_raw_datar   )r-   Úeventr#   r1   r$   Úrequest_infor6   s          r   Úextract_into_eventz#RequestExtractor.extract_into_event5   sÃ   € ä—‘×#Ñ#ˆØˆ>Øàˆà×,Ñ,Ó.ˆØ—y‘y ¨BÓ/ˆä#Ô%Ü&*¨4¯<©<«>Ó&:ˆL˜Ñ#ä)¨&°.ÔAÜ!×AÑAÓC‰Dà×*Ñ*Ó,ˆKØÐ&Ø"‘Ø—‘”Ü%×>Ñ>Ó@‘à�àÐØ#'ˆL˜Ñ ä# LÓ1ˆˆiÒr'   c                 ót   — 	 t        | j                  «       j                  dd«      «      S # t        $ r Y yw xY w)NÚCONTENT_LENGTHr   )ÚintÚenvr3   Ú
ValueError©r-   s    r   r$   zRequestExtractor.content_lengthS   s6   € ð	Ü�t—x‘x“z—~‘~Ð&6¸Ó:Ó;Ð;øÜò 	Ùð	ús   ‚(+ «	7¶7c                 ó   — t        «       ‚r+   ©ÚNotImplementedErrorrA   s    r   r0   zRequestExtractor.cookiesZ   ó   € ä!Ó#Ð#r'   c                 ó   — t        «       ‚r+   rC   rA   s    r   r7   zRequestExtractor.raw_data^   rE   r'   c                 ó   — t        «       ‚r+   rC   rA   s    r   ÚformzRequestExtractor.formb   rE   r'   c                 óê   — | j                  «       }| j                  «       }|s|r@t        t        |«      «      }t        |«      D ]  \  }}t	        j
                  «       ||<   Œ |S | j                  «       S r+   )rH   Úfilesr4   r   r   r8   Újson)r-   rH   rJ   r1   ÚkeyÚ_s         r   r6   zRequestExtractor.parsed_bodyf   sj   € à�y‰y‹{ˆØ—
‘
“ˆÙ‘5Üœ	 $›Ó(ˆDÜ# EÓ*ò F‘��QÜ*×CÑCÓE��S’	ðFð ˆKà�y‰y‹{Ðr'   c                 óR   — t        | j                  «       j                  d«      «      S )NÚCONTENT_TYPE)Ú_is_json_content_typer?   r3   rA   s    r   Úis_jsonzRequestExtractor.is_jsons   s   € ä$ T§X¡X£Z§^¡^°NÓ%CÓDÐDr'   c                 óü   — 	 | j                  «       sy | j                  «       }|€y t        |t        «      rt	        j
                  |«      S t	        j
                  |j                  d«      «      S # t        $ r Y y w xY w)Nzutf-8)rQ   r7   Ú
isinstancer   rK   ÚloadsÚdecoder@   )r-   r7   s     r   rK   zRequestExtractor.jsonw   sm   € ð	Ø—<‘<”>Øà—}‘}“ˆHØÐØä˜(¤IÔ.Ü—z‘z (Ó+Ð+ä—z‘z (§/¡/°'Ó":Ó;Ð;øÜò 	Øàð	ús!   ‚A/ “A/ ¦$A/ Á#A/ Á/	A;Á:A;c                 ó   — t        «       ‚r+   rC   rA   s    r   rJ   zRequestExtractor.filesŠ   rE   r'   c                 ó   — t        «       ‚r+   rC   )r-   Úfiles     r   Úsize_of_filezRequestExtractor.size_of_fileŽ   rE   r'   c                 ó   — t        «       ‚r+   rC   rA   s    r   r?   zRequestExtractor.env’   rE   r'   N)Ú__name__Ú
__module__Ú__qualname__r.   r;   r$   r0   r7   rH   r6   rQ   rK   rJ   rY   r?   © r'   r   r)   r)   0   s?   „ òò2ò<ò$ò$ò$òòEòò&$ò$ó$r'   r)   c                 óŠ   — | xs dj                  dd«      d   }|dk(  xs$ |j                  d«      xr |j                  d«      S )NÚ ú;é   r   zapplication/jsonzapplication/z+json)Úsplitr   Úendswith)ÚctÚmts     r   rP   rP   —   sM   € à
Š(�×	Ñ	˜#˜qÓ	! !Ñ	$€Bà
Ð Ñ ò 	!Ø�M‰M˜.Ó)ò !Ø�K‰K˜Ó ðr'   c           	      óØ   — t        «       r| S t        | «      D ��ci c]B  \  }}||j                  «       j                  dd«      t        vr|nt        j                  «       “ŒD c}}S c c}}w )Nú-rM   )r   r   ÚupperÚreplaceÚSENSITIVE_HEADERSr   r5   )ÚheadersÚkÚvs      r   Ú_filter_headersro   ¡   sm   € äÔ!Øˆô ˜gÓ&÷ñ ˆAˆqð 	
à�w‰w‹y× Ñ   cÓ*Ô2CÑCñ ä×?Ñ?ÓAñ	Bóð ùó s   ›AA&)rK   Úcopyr   Úsentry_sdk.hubr   r   Úsentry_sdk.utilsr   Úsentry_sdk._compatr   r   Úsentry_sdk._typesr	   Ú
sentry_sdkÚtypingr
   r   r   r   ÚSENSITIVE_ENV_KEYSÚtuplerk   r&   Úobjectr)   rP   ro   r^   r'   r   ú<module>rz      si   ðÛ Ý ç 8Ý +ß 3å +áÛåÝÝÝð	Ð ñ ñ Ø1ôó Ð ò

ôd$�vô d$òNór'   