Ë
    S>{i  ã                   ó  — d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZmZ d dlmZ 	  ed	«      Zer$d dlmZmZmZmZ d dlmZmZmZmZ d dl m!Z! d dlm"Z"  G d„ de«      Z#d„ Z$d„ Z%d„ Z&y# e$ r	  ed
«      ‚w xY w)é    )Úimport_module)ÚHubÚ_should_send_default_pii)ÚDidNotEnableÚIntegration)Úignore_logger)Ú_get_installed_modules)Úrequest_body_within_bounds)Úcapture_internal_exceptionsÚevent_from_exceptionÚparse_version)ÚTYPE_CHECKINGzariadne.graphqlzariadne is not installed)ÚAnyÚDictÚListÚOptional)ÚGraphQLErrorÚGraphQLResultÚGraphQLSchemaÚQueryParser)ÚDocumentNode)ÚEventProcessorc                   ó    — e Zd ZdZed„ «       Zy)ÚAriadneIntegrationÚariadnec                  ó¶   — t        «       } t        | d   «      }|€t        dj                  |«      «      ‚|dk  rt        d«      ‚t	        d«       t        «        y )Nr   zUnparsable ariadne version: {})r   é   zariadne 0.20 or newer required.)r	   r   r   Úformatr   Ú_patch_graphql)Úinstalled_packagesÚversions     ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sentry_sdk/integrations/ariadne.pyÚ
setup_oncezAriadneIntegration.setup_once!   s[   € ô 4Ó5ÐÜÐ 2°9Ñ =Ó>ˆàˆ?ÜÐ?×FÑFÀwÓOÓPÐPà�WÒÜÐ@ÓAÐAä�iÔ äÕó    N)Ú__name__Ú
__module__Ú__qualname__Ú
identifierÚstaticmethodr#   © r$   r"   r   r      s   „ Ø€Jàñó ñr$   r   c                  óÊ   ‡‡‡— t         j                  Št         j                  Št         j                  Šˆfd„} ˆfd„}ˆfd„}| t         _        |t         _        |t         _        y )Nc                 ó   •— t         j                  }|j                  t        «      }|€
 ‰| ||«      S |j	                  «       5 }t        |«      }|j                  |«       d d d «        ‰| ||«      }|S # 1 sw Y   ŒxY w)N)r   ÚcurrentÚget_integrationr   Úconfigure_scopeÚ_make_request_event_processorÚadd_event_processor)	Úcontext_valueÚquery_parserÚdataÚhubÚintegrationÚscopeÚevent_processorÚresultÚold_parse_querys	           €r"   Ú_sentry_patched_parse_queryz3_patch_graphql.<locals>._sentry_patched_parse_query8   s‚   ø€ ä�k‰kˆØ×)Ñ)Ô*<Ó=ˆØÐÙ" =°,ÀÓEÐEà× Ñ Ó"ð 	7 eÜ;¸DÓAˆOØ×%Ñ% oÔ6÷	7ñ ! °¸dÓCˆØˆ÷	7ð 	7ús   ÁA4Á4A=c           	      ó  •— t         j                  }|j                  t        «      }|€ ‰| g|¢­i |¤ŽS  ‰| g|¢­i |¤Ž}|j	                  «       5 }t        |d   «      }|j                  |«       d d d «       |j                  rbt        «       5  | D ]G  }t        ||j                  j                  |j                  ddœ¬«      \  }	}
|j                  |	|
¬«       ŒI 	 d d d «       |S |S # 1 sw Y   ŒyxY w# 1 sw Y   |S xY w©Né   F)ÚtypeÚhandled)Úclient_optionsÚ	mechanism)Úhint)r   r-   r.   r   r/   Ú_make_response_event_processorr1   Úclientr   r   Úoptionsr(   Úcapture_event)ÚerrorsÚargsÚkwargsr5   r6   r9   r7   r8   ÚerrorÚeventrC   Úold_handle_errorss              €r"   Ú%_sentry_patched_handle_graphql_errorsz=_patch_graphql.<locals>._sentry_patched_handle_graphql_errorsF   s  ø€ ä�k‰kˆØ×)Ñ)Ô*<Ó=ˆØÐÙ$ VÐ=¨dÒ=°fÑ=Ð=á" 6Ð;¨DÒ;°FÑ;ˆà× Ñ Ó"ð 	7 eÜ<¸VÀA¹YÓGˆOØ×%Ñ% oÔ6÷	7ð �:Š:Ü,Ó.ñ 
8Ø#ò 	8�EÜ"6ØØ'*§z¡z×'9Ñ'9à$/×$:Ñ$:Ø',ñ#ô#‘K�E˜4ð ×%Ñ% e°$Ð%Õ7ñ	8÷
8ð ˆˆvˆ÷#	7ð 	7ú÷

8ð ˆús   Á C)ÂAC5Ã)C2Ã5C?c           	      ó   •— t         j                  }|j                  t        «      }|€ ‰| g|¢­i |¤ŽS  ‰| g|¢­i |¤Ž}|j	                  «       5 }t        |d   «      }|j                  |«       d d d «       |j                  rpt        «       5  | j                  xs g D ]G  }t        ||j                  j                  |j                  ddœ¬«      \  }	}
|j                  |	|
¬«       ŒI 	 d d d «       |S |S # 1 sw Y   Œ‡xY w# 1 sw Y   |S xY wr=   )r   r-   r.   r   r/   rD   r1   rE   r   rH   r   rF   r(   rG   )r9   rI   rJ   r5   r6   Úquery_resultr7   r8   rK   rL   rC   Úold_handle_query_results              €r"   Ú#_sentry_patched_handle_query_resultz;_patch_graphql.<locals>._sentry_patched_handle_query_resultb   s  ø€ ä�k‰kˆØ×)Ñ)Ô*<Ó=ˆØÐÙ*¨6ÐC°DÒC¸FÑCÐCá.¨vÐG¸ÒGÀÑGˆà× Ñ Ó"ð 	7 eÜ<¸\È!¹_ÓMˆOØ×%Ñ% oÔ6÷	7ð �:Š:Ü,Ó.ñ 
8Ø#Ÿ]™]Ò0¨bò 	8�EÜ"6ØØ'*§z¡z×'9Ñ'9à$/×$:Ñ$:Ø',ñ#ô#‘K�E˜4ð ×%Ñ% e°$Ð%Õ7ñ	8÷
8ð Ðˆ|Ð÷#	7ð 	7ú÷

8ð Ðús   Á C7ÂADÃ7D ÄD)Úariadne_graphqlÚparse_queryÚhandle_graphql_errorsÚhandle_query_result)r;   rN   rR   rM   rQ   r:   s      @@@r"   r   r   2   sO   ú€ ä%×1Ñ1€OÜ'×=Ñ=ÐÜ-×AÑAÐôôô8ð8 #>„OÔØ,Q„OÔ)Ø*M„OÕ'r$   c                 ó   ‡ — ˆ fd„}|S )z*Add request data and api_target to events.c                 óî  •— t        ‰t        «      s| S t        «       5  	 t        ‰j	                  d«      xs i j	                  dd«      «      }t        «       rAt        t        j                  j                  |«      r| j                  di «      }d|d<   ‰|d<   n'| j	                  di «      j	                  d«      r| d   d= d d d «       | S # t
        t        f$ r | cY cd d d «       S w xY w# 1 sw Y   | S xY w)NÚheaderszContent-Lengthr   ÚrequestÚgraphqlÚ
api_targetr4   )Ú
isinstanceÚdictr   ÚintÚgetÚ	TypeErrorÚ
ValueErrorr   r
   r   r-   rE   Ú
setdefault)rL   rC   Úcontent_lengthÚrequest_infor4   s       €r"   Úinnerz,_make_request_event_processor.<locals>.inner‡   sö   ø€ ä˜$¤Ô%ØˆLä(Ó*ñ 	-ðÜ!$Ø—X‘X˜iÓ(Ò.¨B×3Ñ3Ð4DÀaÓHó"�ô (Ô)Ô.HÜ—‘×"Ñ" Nô/ð  %×/Ñ/°	¸2Ó>�Ø-6�˜\Ñ*Ø'+�˜VÒ$à—‘˜9 bÓ)×-Ñ-¨fÔ5Ø˜)Ñ$ VÐ,÷!	-ð$ ˆøô œzÐ*ò Ø‘÷	-ñ 	-ð
ú÷	-ð$ ˆús/   žC* .C
ÁA2C*Ã
C'ÃC*Ã&C'Ã'C*Ã*C4r*   )r4   rf   s   ` r"   r0   r0   ƒ   s   ø€ ôð2 €Lr$   c                 ó   ‡ — ˆ fd„}|S )z2Add response data to the event's response context.c                 ó°   •— t        «       5  t        «       r*‰j                  d«      r| j                  di «      }d‰i|d<   d d d «       | S # 1 sw Y   | S xY w)NrH   Úcontextsr4   Úresponse)r   r   r`   rc   )rL   rC   ri   rj   s      €r"   rf   z-_make_response_event_processor.<locals>.inner§   s[   ø€ ä(Ó*ñ 	Ü'Ô)¨h¯l©l¸8Ô.DØ ×+Ñ+¨J¸Ó;�à˜Hð(�˜Ñ$÷	ð ˆ÷	ð ˆús   Œ5AÁAr*   )rj   rf   s   ` r"   rD   rD   £   s   ø€ ô	ð €Lr$   N)'Ú	importlibr   Úsentry_sdk.hubr   r   Úsentry_sdk.integrationsr   r   Úsentry_sdk.integrations.loggingr   Úsentry_sdk.integrations.modulesr	   Ú$sentry_sdk.integrations._wsgi_commonr
   Úsentry_sdk.utilsr   r   r   Úsentry_sdk._typesr   rS   ÚImportErrorÚtypingr   r   r   r   Úariadne.typesr   r   r   r   Úgraphql.language.astr   r   r   r   r0   rD   r*   r$   r"   ú<module>rw      sŒ   ðÝ #ç 8ß =Ý 9Ý BÝ K÷ñ õ
 ,ð3ñ $Ð$5Ó6€Oñ
 ß0Ó0ßUÓUÝ1Ý0ô˜ô ò(NNòbó@øða ò 3Ù
Ð1Ó
2Ð2ð3ús   ºA= Á=B