Ë
    S>{i^  ã                   ó"  — d dl mZmZ d dlmZmZ d dlmZmZ 	 d dl	Z	d dl
mZmZmZmZ d dlmZmZ d dlmZ d d	lmZ er#d d
lmZmZmZmZ d dlmZ eeeeeedf   f   f   ZdZ G d„ de«      Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%y# e$ r	  ed«      ‚w xY w)é    )Úevent_from_exceptionÚparse_version)ÚHubÚ_should_send_default_pii)ÚDidNotEnableÚIntegrationN)Ú	print_astÚget_operation_astÚDocumentNodeÚVariableDefinitionNode)Ú	TransportÚAsyncTransport)ÚTransportQueryErrorzgql is not installed)ÚTYPE_CHECKING)ÚAnyÚDictÚTupleÚUnion)ÚEventProcessor.)é   é   é   c                   ó    — e Zd ZdZed„ «       Zy)ÚGQLIntegrationÚgqlc                  ó°   — t        t        j                  «      } | �	| t        k  r(t	        ddj                  d„ t        D «       «      z  «      ‚t        «        y )Nz?GQLIntegration is only supported for GQL versions %s and above.ú.c              3   ó2   K  — | ]  }t        |«      –— Œ y ­w)N)Ústr)Ú.0Únums     úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sentry_sdk/integrations/gql.pyú	<genexpr>z,GQLIntegration.setup_once.<locals>.<genexpr>"   s   è ø€ Ò?¨œ3˜sŸ8Ñ?ùs   ‚)r   r   Ú__version__ÚMIN_GQL_VERSIONr   ÚjoinÚ_patch_execute)Úgql_versions    r"   Ú
setup_oncezGQLIntegration.setup_once   sO   € ô $¤C§O¡OÓ4ˆØÐ +´Ò"?ÜØQØ—(‘(Ñ?¬Ô?Ó?ñ@óð ô 	Õó    N)Ú__name__Ú
__module__Ú__qualname__Ú
identifierÚstaticmethodr)   © r*   r"   r   r      s   „ Ø€Jàñó ñr*   r   c                 óâ   — 	 t        | «      }dt        | «      i}|�4|j                  |d<   |j                  �|j                  j                  |d<   |S # t
        t        f$ r t        «       cY S w xY w)NÚqueryÚ	variablesÚoperationName)r
   r	   Úvariable_definitionsÚnameÚvalueÚAttributeErrorÚ	TypeErrorÚdict)ÚdocumentÚoperation_astÚdatas      r"   Ú_data_from_documentr>   '   sx   € ðÜ)¨(Ó3ˆØœ 8Ó,Ð-ˆàÐ$Ø -× BÑ BˆD�ÑØ×!Ñ!Ð-Ø(5×(:Ñ(:×(@Ñ(@��_Ñ%àˆøÜœIÐ&ò Ü‹vŠðús   ‚AA ÁA.Á-A.c                 ó:   — 	 | j                   S # t        $ r Y yw xY w)zg
    The RequestsHTTPTransport allows defining the HTTP method; all
    other transports use POST.
    ÚPOST)Úmethodr8   )Ú	transports    r"   Ú_transport_methodrC   7   s%   € ðØ×ÑÐøÜò Ùðús   ‚ Ž	™c                 óh   — | €i S dt        | «      i}	 | j                  |d<   |S # t        $ r Y |S w xY w)NrA   Úurl)rC   rE   r8   )rB   Úrequest_infos     r"   Ú_request_info_from_transportrG   C   sV   € àÐØˆ	ð 	Ô# IÓ.ð€LðØ'Ÿm™mˆ�UÑð Ðøô ò ØàÐðús   “$ ¤	1°1c                  ón   ‡— t         j                  j                  Šˆfd„} | t         j                  _        y )Nc                 óÖ  •— t         j                  }|j                  t        «      € ‰	| |g|¢­i |¤ŽS t         j                  j	                  «       5 }|j                  t        | |«      «       d d d «       	  ‰	| |g|¢­i |¤ŽS # 1 sw Y   ŒxY w# t        $ rO}t        ||j                  �|j                  j                  nd dddœ¬«      \  }}|j                  ||«       |‚d }~ww xY w)Nr   F)ÚtypeÚhandled)Úclient_optionsÚ	mechanism)r   ÚcurrentÚget_integrationr   Úconfigure_scopeÚadd_event_processorÚ_make_gql_event_processorr   r   ÚclientÚoptionsÚcapture_event)
Úselfr;   ÚargsÚkwargsÚhubÚscopeÚeÚeventÚhintÚreal_executes
            €r"   Úsentry_patched_executez._patch_execute.<locals>.sentry_patched_executeX   së   ø€ ä�k‰kˆØ×Ñœ~Ó.Ð6Ù  hÐ@°Ò@¸Ñ@Ð@ä�[‰[×(Ñ(Ó*ð 	Q¨eØ×%Ñ%Ô&?ÀÀhÓ&OÔP÷	Qð
	Ù  hÐ@°Ò@¸Ñ@Ð@÷		Qð 	Qûô
 #ò 	Ü.ØØ58·Z±ZÐ5K˜sŸz™z×1Ò1ÐQUØ#(°UÑ;ô‰KˆE�4ð ×Ñ˜e TÔ*ØˆGûð	ús%   ÁBÁ7B ÂBÂ	C(ÂA
C#Ã#C()r   ÚClientÚexecute)r_   r^   s    @r"   r'   r'   T   s%   ø€ ä—:‘:×%Ñ%€Lôð* 0„C‡J�JÕr*   c                 ó   ‡ ‡— ˆ ˆfd„}|S )Nc                 ót  •— 	 |d   d   j                   }| j                  di «      }|j	                  ddit        ‰j                  «      ¥«       t        «       rHt        ‰«      |d<   | j                  di «      }|j                  di «      }|j	                  d	|i|d
œ«       | S # t        t        f$ r d }Y Œ¡w xY w)NÚexc_infor   ÚrequestÚ
api_targetÚgraphqlr=   ÚcontextsÚresponseÚerrors)r=   rJ   )	rj   r8   ÚKeyErrorÚ
setdefaultÚupdaterG   rB   r   r>   )r\   r]   rj   re   rh   ri   rS   r;   s         €€r"   Ú	processorz,_make_gql_event_processor.<locals>.processorr   sÒ   ø€ ð	Ø˜*Ñ% aÑ(×/Ñ/ˆFð ×"Ñ" 9¨bÓ1ˆØ�‰à˜iðä.¨v×/?Ñ/?Ó@ðô	
ô $Ô%Ü1°(Ó;ˆG�F‰OØ×'Ñ'¨
°BÓ7ˆHØ×*Ñ*¨:°rÓ:ˆHØ�O‰Oà% vÐ.Ø$ñôð ˆøô- ¤Ð)ò 	ØŠFð	ús   ƒB# Â#B7Â6B7r0   )rS   r;   rn   s   `` r"   rR   rR   p   s   ù€ õð8 Ðr*   )&Úsentry_sdk.utilsr   r   Úsentry_sdk.hubr   r   Úsentry_sdk.integrationsr   r   r   rg   r	   r
   r   r   Úgql.transportr   r   Úgql.transport.exceptionsr   ÚImportErrorÚsentry_sdk._typesr   Útypingr   r   r   r   r   r   ÚEventDataTyper%   r   r>   rC   rG   r'   rR   r0   r*   r"   ú<module>rx      sŸ   ðß @ß 8ß =ð/ÛßZÓZß7Ý<õ ,áß.Ó.Ý0à˜˜e C¨Ð/EÀsÐ/JÑ)KÐ$KÑLÐLÑM€Mà€ô�[ô òò 	òò"0ó8øðM ò /Ù
Ð-Ó
.Ð.ð/ús   šB  Â B