Ë
    S>{i°%  ã                   óø   — d dl Z d dlZd dlZd dlmZmZ d dlmZ d dlm	Z	 d dl
mZmZ er,d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZmZ d„ Z G d„ de«      Z G d„ de«      Z G d„ de«      Zy)é    N)Ú	text_typeÚPY2)ÚTYPE_CHECKING)ÚSession)Ú
json_dumpsÚcapture_internal_exceptions)ÚAny)ÚOptional)ÚUnion)ÚDict)ÚList)ÚIterator)ÚEventÚEventDataCategoryc                 ó|   — t         s"t        | t        «      r| j                  dd«      } t	        j
                  | «      S )Núutf-8Úreplace)r   Ú
isinstanceÚbytesÚdecodeÚjsonÚloads)Údatas    úQ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sentry_sdk/envelope.pyÚ
parse_jsonr      s/   € õ ”:˜d¤EÔ*Ø�{‰{˜7 IÓ.ˆÜ�:‰:�dÓÐó    c                   ó–   — e Zd Z	 	 dd„Ze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ed„ «       Zed„ «       Zd„ Zy)ÚEnvelopeNc                 óp   — |�t        |«      }|xs i | _        |€
g }|| _        y t        |«      }|| _        y ©N)ÚdictÚheadersÚlistÚitems)Úselfr"   r$   s      r   Ú__init__zEnvelope.__init__   sC   € ð ÐÜ˜7“mˆGØ’} "ˆŒØˆ=ØˆEð ˆ�
ô ˜“KˆEØˆ�
r   c                 óz   — dt        | j                  «      ›ddj                  d„ | j                  D «       «      ›d�S )Nzenvelope with z items (z, c              3   ó4   K  — | ]  }|j                   –— Œ y ­wr    )Údata_category)Ú.0Úxs     r   ú	<genexpr>z'Envelope.description.<locals>.<genexpr>2   s   è ø€ Ò:¨!�a—o•oÑ:ùs   ‚ú))Úlenr$   Újoin©r%   s    r   ÚdescriptionzEnvelope.description-   s/   � ô �—
‘
�OØ�I‰IÑ:¨t¯z©zÔ:Õ:ð
ð 	
r   c                 óP   — | j                  t        t        |¬«      d¬«      «       y )N©r   Úevent©ÚpayloadÚtype©Úadd_itemÚItemÚ
PayloadRef)r%   r4   s     r   Ú	add_eventzEnvelope.add_event5   s   € ð 	�‰”d¤:°5Ô#9ÀÔHÕIr   c                 óP   — | j                  t        t        |¬«      d¬«      «       y )Nr3   Útransactionr5   r8   )r%   r>   s     r   Úadd_transactionzEnvelope.add_transaction;   s   € ð 	�‰”d¤:°;Ô#?ÀmÔTÕUr   c                 óP   — | j                  t        t        |¬«      d¬«      «       y )Nr3   Úprofiler5   r8   )r%   rA   s     r   Úadd_profilezEnvelope.add_profileA   s   € ð 	�‰”d¤:°7Ô#;À)ÔLÕMr   c                 óP   — | j                  t        t        |¬«      d¬«      «       y )Nr3   Úcheck_inr5   r8   )r%   Úcheckins     r   Úadd_checkinzEnvelope.add_checkinG   s   € ð 	�‰”d¤:°7Ô#;À*ÔMÕNr   c                 ó�   — t        |t        «      r|j                  «       }| j                  t	        t        |¬«      d¬«      «       y )Nr3   Úsessionr5   )r   r   Úto_jsonr9   r:   r;   )r%   rH   s     r   Úadd_sessionzEnvelope.add_sessionM   s2   € ô �gœwÔ'Ø—o‘oÓ'ˆGØ�‰”d¤:°7Ô#;À)ÔLÕMr   c                 óP   — | j                  t        t        |¬«      d¬«      «       y )Nr3   Úsessionsr5   r8   )r%   rL   s     r   Úadd_sessionszEnvelope.add_sessionsU   s   € ð 	�‰”d¤:°8Ô#<À:ÔNÕOr   c                 ó:   — | j                   j                  |«       y r    )r$   Úappend)r%   Úitems     r   r9   zEnvelope.add_item[   s   € ð 	�
‰
×Ñ˜$Õr   c                 óR   — | j                   D ]  }|j                  «       }|€Œ|c S  y r    )r$   Ú	get_event)r%   r$   r4   s      r   rR   zEnvelope.get_eventa   s1   € à—Z‘Zò 	ˆEØ—O‘OÓ%ˆEØÑ Ø’ð	ð r   c                 óR   — | j                   D ]  }|j                  «       }|€Œ|c S  y r    )r$   Úget_transaction_event)r%   rP   r4   s      r   rT   zEnvelope.get_transaction_eventi   s3   € à—J‘Jò 	ˆDØ×.Ñ.Ó0ˆEØÑ Ø’ð	ð r   c                 ó,   — t        | j                  «      S r    )Úiterr$   r0   s    r   Ú__iter__zEnvelope.__iter__q   s   € ä�D—J‘JÓÐr   c                 ó²   — |j                  t        | j                  «      «       |j                  d«       | j                  D ]  }|j	                  |«       Œ y )Nó   
)Úwriter   r"   r$   Úserialize_into)r%   ÚfrP   s      r   r[   zEnvelope.serialize_intou   sE   € ð 	
�‰”
˜4Ÿ<™<Ó(Ô)Ø	�‰�ŒØ—J‘Jò 	#ˆDØ×Ñ Õ"ñ	#r   c                 ól   — t        j                  «       }| j                  |«       |j                  «       S r    ©ÚioÚBytesIOr[   Úgetvalue©r%   Úouts     r   Ú	serializezEnvelope.serialize~   ó'   € ä�j‰j‹lˆØ×Ñ˜CÔ Ø�|‰|‹~Ðr   c                 ó¢   — t        |j                  «       «      }g }	 t        j                  |«      }|€n|j	                  |«       Œ* | ||¬«      S )N©r"   r$   )r   Úreadliner:   Údeserialize_fromrO   )Úclsr\   r"   r$   rP   s        r   ri   zEnvelope.deserialize_from„   sT   € ô
 ˜QŸZ™Z›\Ó*ˆØˆØÜ×(Ñ(¨Ó+ˆDØˆ|ØØ�L‰L˜Ôð	 ñ
 ˜7¨%Ô0Ð0r   c                 óJ   — | j                  t        j                  |«      «      S r    ©ri   r_   r`   ©rj   r   s     r   ÚdeserializezEnvelope.deserialize’   ó   € ð
 ×#Ñ#¤B§J¡J¨uÓ$5Ó6Ð6r   c                 ó<   — d| j                   ›d| j                  ›d�S )Nz<Envelope headers=z items=ú>rg   r0   s    r   Ú__repr__zEnvelope.__repr__™   s   � à37·<³<ÀÇÃÐLÐLr   )NN)Ú__name__Ú
__module__Ú__qualname__r&   Úpropertyr1   r<   r?   rB   rF   rJ   rM   r9   rR   rT   rW   r[   rd   Úclassmethodri   rn   rr   © r   r   r   r      s“   „ ð Øóð ñ
ó ð
òJòVòNòOòNòPò òòò ò#òð ñ1ó ð1ð ñ7ó ð7óMr   r   c                   ó6   — e Zd Z	 	 	 dd„Zd„ Zed„ «       Zd„ Zy)r;   Nc                 ó.   — || _         || _        || _        y r    )r   r   Úpath)r%   r   r{   r   s       r   r&   zPayloadRef.__init__Ÿ   s   € ð ˆŒ	ØˆŒ
Øˆ�	r   c                 ó¨  — | j                   €˜| j                  �St        «       5  t        | j                  d«      5 }|j	                  «       | _         d d d «       d d d «       | j                   S | j
                  �&t        | j
                  «      | _         | j                   S d| _         | j                   S # 1 sw Y   ŒbxY w# 1 sw Y   | j                   S xY w)NÚrbr   )r   r{   r   ÚopenÚreadr   r   )r%   r\   s     r   Ú	get_byteszPayloadRef.get_bytesª   s±   € à�:‰:ÐØ�y‰yÐ$Ü0Ó2ñ .Ü˜dŸi™i¨Ó.ð .°!Ø%&§V¡V£X˜œ
÷.÷.ð �z‰zÐð	 —‘Ð&Ü'¨¯	©	Ó2�”
ð �z‰zÐð !�”
Ø�z‰zÐ÷.ð .ú÷.ð �z‰zÐús"   £B=ºB1ÁB=Â1B:	Â6B=Â=Cc                 óÊ   — | j                   �y| j                  �J| j                  }t        |t        «      r|j	                  dd«      }t        j                  |«      d   }|r|S y)Nzapplication/jsonr   r   r   zapplication/octet-stream)r   r{   r   r   r   Ú	mimetypesÚ
guess_type)r%   r{   Útys      r   Úinferred_content_typez PayloadRef.inferred_content_type·   s^   € ð �9‰9Ð Ø%Ø�Y‰YÐ"Ø—9‘9ˆDÜ˜$¤Ô&Ø—{‘{ 7¨IÓ6�Ü×%Ñ% dÓ+¨AÑ.ˆBÙØ�	Ø)r   c                 ó"   — d| j                   ›d�S )Nz	<Payload rq   )r…   r0   s    r   rr   zPayloadRef.__repr__Å   s   � à!%×!;Ó!;Ð=Ð=r   )NNN)rs   rt   ru   r&   r€   rv   r…   rr   rx   r   r   r;   r;   ž   s0   „ ð ØØó		òð ñ*ó ð*ó>r   r;   c                   ó€   — e Zd Z	 	 	 	 dd„Zd„ Zed„ «       Zed„ «       Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zed„ «       Zed„ «       Zy)r:   Nc                 ó:  — |�t        |«      }n|€i }|| _        t        |t        «      rt	        |¬«      }n.t        |t
        «      rt	        |j                  d«      ¬«      }n|}|�||d<   |�||d<   |�||d<   || _        y d|vr|j                  |d<   || _        y )N)r   r   Úfilenamer7   Úcontent_type)	r!   r"   r   r   r;   r   Úencoder…   r6   )r%   r6   r"   r7   rŠ   r‰   s         r   r&   zItem.__init__Ë   s³   € ð ÐÜ˜7“m‰GØˆ_ØˆGØˆŒÜ�gœuÔ%Ü  wÔ/‰GÜ˜¤Ô+Ü  w§~¡~°gÓ'>Ô?‰GàˆGàÐØ"*ˆG�JÑØÐØ"ˆG�F‰OØÐ#Ø&2ˆG�NÑ#ð ˆ�ð  7Ñ*Ø&-×&CÑ&CˆG�NÑ#àˆ�r   c                 óV   — d| j                   ›d| j                  ›d| j                  ›d�S )Nz<Item headers=z	 payload=z data_category=rq   )r"   r6   r)   r0   s    r   rr   zItem.__repr__ê   s%   � ð �L‹LØ�L‹LØ×Óð
ð 	
r   c                 ó8   — | j                   j                  d«      S )Nr7   ©r"   Úgetr0   s    r   r7   z	Item.typeò   s   € ð �|‰|×Ñ Ó'Ð'r   c                 óŽ   — | j                   j                  d«      }|dk(  ry|dk(  ry|dk(  ry|dk(  ry|dk(  ry|d	k(  ry	|d
k(  ry
y)Nr7   rH   Ú
attachmentr>   r4   ÚerrorÚclient_reportÚinternalrA   ÚstatsdÚdefaultrŽ   )r%   r„   s     r   r)   zItem.data_category÷   sd   € ð �\‰\×Ñ˜fÓ%ˆØ�Š?ØØ�<ÒØØ�=Ò Ø Ø�7Š]ØØ�?Ò"ØØ�9Š_ØØ�8Š^Øàr   c                 ó6   — | j                   j                  «       S r    )r6   r€   r0   s    r   r€   zItem.get_bytes  s   € à�|‰|×%Ñ%Ó'Ð'r   c                 óz   — | j                   dk(  r,| j                  j                  �| j                  j                  S y)z9
        Returns an error event if there is one.
        r4   N©r7   r6   r   r0   s    r   rR   zItem.get_event  s2   € ð
 �9‰9˜Ò D§L¡L×$5Ñ$5Ð$AØ—<‘<×$Ñ$Ð$Ør   c                 óz   — | j                   dk(  r,| j                  j                  �| j                  j                  S y )Nr>   r™   r0   s    r   rT   zItem.get_transaction_event  s0   € à�9‰9˜Ò%¨$¯,©,×*;Ñ*;Ð*GØ—<‘<×$Ñ$Ð$Ør   c                 ó  — t        | j                  «      }| j                  «       }t        |«      |d<   |j	                  t        |«      «       |j	                  d«       |j	                  |«       |j	                  d«       y )NÚlengthrY   )r!   r"   r€   r.   rZ   r   )r%   r\   r"   r   s       r   r[   zItem.serialize_into  s^   € ô �t—|‘|Ó$ˆØ—‘Ó ˆÜ ›Jˆ�ÑØ	�‰”
˜7Ó#Ô$Ø	�‰�ŒØ	�‰�ŒØ	�‰��r   c                 ól   — t        j                  «       }| j                  |«       |j                  «       S r    r^   rb   s     r   rd   zItem.serialize+  re   r   c                 ó~  — |j                  «       j                  «       }|sy t        |«      }|j                  d«      }|�"|j	                  |«      }|j                  «        n|j                  «       j                  d«      }|j                  d«      dv r | |t        t        |«      ¬«      ¬«      }|S  | ||¬«      }|S )Nrœ   rY   r7   )r4   r>   Úmetric_bucketsr3   )r"   r6   )rh   Úrstripr   r�   r   r;   )rj   r\   Úliner"   rœ   r6   Úrvs          r   ri   zItem.deserialize_from1  s¬   € ð
 �z‰z‹|×"Ñ"Ó$ˆÙØÜ˜TÓ"ˆØ—‘˜XÓ&ˆØÐØ—f‘f˜V“nˆGØ�J‰J�Lð —j‘j“l×)Ñ)¨%Ó0ˆGØ�;‰;�vÓÐ"LÑLÙ˜W¬j¼jÈÓ>QÔ.RÔSˆBð ˆ	ñ ˜W¨gÔ6ˆBØˆ	r   c                 óJ   — | j                  t        j                  |«      «      S r    rl   rm   s     r   rn   zItem.deserializeH  ro   r   )NNNN)rs   rt   ru   r&   rr   rv   r7   r)   r€   rR   rT   r[   rd   rw   ri   rn   rx   r   r   r:   r:   Ê   sƒ   „ ð ØØØóò>
ð ñ(ó ð(ð ñó ðò((òòò
òð ñó ðð, ñ7ó ñ7r   r:   )r_   r   r‚   Úsentry_sdk._compatr   r   Úsentry_sdk._typesr   Úsentry_sdk.sessionr   Úsentry_sdk.utilsr   r   Útypingr	   r
   r   r   r   r   r   r   r   Úobjectr   r;   r:   rx   r   r   ú<module>rª      sc   ðÛ 	Û Û ç -Ý +Ý &ß DáÝÝÝÝÝÝç:òô~Mˆvô ~MôB)>�ô )>ôXC7ˆ6õ C7r   