
    fi                     F   d dl mZ d dlZd dlmZmZ d dlmZ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mZ 	  ed	          Zn# e$ r  ed
          w xY wd dlm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$m%Z%  G d de          Z&d Z'd Z(d Z)dS )    )import_moduleN)
get_clientcapture_event)_check_minimum_versionDidNotEnableIntegration)ignore_logger)request_body_within_bounds)should_send_default_pii)capture_internal_exceptionsensure_integration_enabledevent_from_exceptionpackage_versionzariadne.graphqlzariadne is not installed)TYPE_CHECKING)AnyDictListOptional)GraphQLErrorGraphQLResultGraphQLSchemaQueryParser)DocumentNode)EventEventProcessorc                   (    e Zd ZdZed             ZdS )AriadneIntegrationariadnec                      t          d          } t          t          |            t          d           t	                       d S )Nr   )r   r   r   r	   _patch_graphql)versions    o/var/www/html/Pagina-Ingenieria-Requisitos/venv/lib/python3.11/site-packages/sentry_sdk/integrations/ariadne.py
setup_oncezAriadneIntegration.setup_once#   sB     "),,17;;;i       N)__name__
__module____qualname__
identifierstaticmethodr#    r$   r"   r   r       s2        J  \  r$   r   c                  \   t           j        t           j        t           j        t	          t
                    fd            } t	          t
                    fd            }t	          t
                    fd            }| t           _        |t           _        |t           _        d S )Nc                     t          |          }t          j                                        |            | ||          }|S )N)_make_request_event_processor
sentry_sdkget_isolation_scopeadd_event_processor)context_valuequery_parserdataevent_processorresultold_parse_querys        r"   _sentry_patched_parse_queryz3_patch_graphql.<locals>._sentry_patched_parse_query4   sG     8==&((<<_MMM dCCr$   c           	          	| g|R i |}t          |d                   }t          j                                        |           t	                      }|                                rdt                      5  | D ]:}t          ||j        t          j
        dd          \  }}t          ||           ;	 d d d            n# 1 swxY w Y   |S N   F)typehandled)client_options	mechanism)hint)_make_response_event_processorr.   r/   r0   r   	is_activer   r   optionsr   r(   r   )
errorsargskwargsr5   r4   clienterroreventr?   old_handle_errorss
            r"   %_sentry_patched_handle_graphql_errorsz=_patch_graphql.<locals>._sentry_patched_handle_graphql_errors=   s7    #"6;D;;;F;;8CC&((<<_MMM 	4,.. 
4 
4# 	4 	4E"6'-~$6$A',# ## # #KE4 "%d33333	4
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 s   9>CCCc           	          	| g|R i |}t          |d                   }t          j                                        |           t	                      }|                                rkt                      5  | j        pg D ]:}t          ||j	        t          j        dd          \  }}t          ||           ;	 d d d            n# 1 swxY w Y   |S r9   )r@   r.   r/   r0   r   rA   r   rC   r   rB   r   r(   r   )
r5   rD   rE   query_resultr4   rF   rG   rH   r?   old_handle_query_results
            r"   #_sentry_patched_handle_query_resultz;_patch_graphql.<locals>._sentry_patched_handle_query_resultU   s?    /.vGGGGGG8aII&((<<_MMM 	4,.. 
4 
4#]0b 	4 	4E"6'-~$6$A',# ## # #KE4 "%d33333	4
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 
4 s   9ACCC)ariadne_graphqlparse_queryhandle_graphql_errorshandle_query_resultr   r   )r7   rJ   rN   rI   rM   r6   s      @@@r"   r    r    .   s    %1O'=-A 2ODD    ED   24EFF    GF.   24KLL    ML. #>O,QO)*MO'''r$   c                       fd}|S )z*Add request data and api_target to events.c                 :   t          t                    s| S t                      5  	 t                              d          pi                     dd                    }n%# t
          t          f$ r | cY cd d d            S w xY wt                      r=t          t                      |          r!| 
                    di           }d|d<   |d<   n2|                     di                               d          r	| d         d= d d d            n# 1 swxY w Y   | S )NheaderszContent-Lengthr   requestgraphql
api_targetr3   )
isinstancedictr   intget	TypeError
ValueErrorr   r
   r   
setdefault)rH   r?   content_lengthrequest_infor3   s       r"   innerz,_make_request_event_processor.<locals>.innerv   s   $%% 	L(** 	- 	-!$XXi((.B334DaHH" " z*   	- 	- 	- 	- 	- 	- 	- 	-
 '(( --Gn. . -  %//	2>>-6\*'+V$$9b))--f55 -)$V,!	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-$ s5   D8A"!D"B5DBB DDDr*   )r3   rb   s   ` r"   r-   r-   r   s#        2 Lr$   c                       fd}|S )z2Add response data to the event's response context.c                     t                      5  t                      r2                    d          r|                     di           }di|d<   d d d            n# 1 swxY w Y   | S )NrC   contextsr3   response)r   r   r\   r_   )rH   r?   re   rf   s      r"   rb   z-_make_response_event_processor.<locals>.inner   s    (** 	 	&(( X\\(-C-C  ++J;;H($	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 s   AAA!$A!r*   )rf   rb   s   ` r"   r@   r@      s#    	 	 	 	 	 Lr$   )*	importlibr   r.   r   r   sentry_sdk.integrationsr   r   r   sentry_sdk.integrations.loggingr	   $sentry_sdk.integrations._wsgi_commonr
   sentry_sdk.scoper   sentry_sdk.utilsr   r   r   r   rO   ImportErrortypingr   r   r   r   r   ariadne.typesr   r   r   r   graphql.language.astr   sentry_sdk._typesr   r   r   r    r-   r@   r*   r$   r"   <module>rr      s   # # # # # #     0 0 0 0 0 0 0 0 U U U U U U U U U U 9 9 9 9 9 9 K K K K K K 4 4 4 4 4 4           3 $m$566OO 3 3 3
,1
2
223 !           8000000000000UUUUUUUUUUUU11111177777777       AN AN ANH  @    s   A A