
    fi;                     N   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mZmZmZ d dl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 d dlmZ n# e $ r  e	d          w xY w G d de          Z! ee!          d             Z"d Z#d Z$dS )    )partialN)OPSPANDATA)_check_minimum_versionIntegrationDidNotEnable)Span)capture_internal_exceptionsensure_integration_enabled	parse_urlparse_version)TYPE_CHECKING)Any)Dict)Optional)Type)__version__)
BaseClient)StreamingBody)
AWSRequestzbotocore is not installedc                   2    e Zd ZdZde Zed             ZdS )Boto3Integrationboto3z
auto.http.c                      t          t                    } t          t          | d           t          j        fd}|t          _        d S )Nbotocorec                 H    | g|R i | | j         }|j        j                                        }|j                            dt          t          |                     |j                            dt                     |j                            dt                     d S )Nzrequest-created)
service_idz
after-callzafter-call-error)
metaservice_modelr   	hyphenizeeventsregisterr   _sentry_request_created_sentry_after_call_sentry_after_call_error)selfargskwargsr   r   	orig_inits        m/var/www/html/Pagina-Ingenieria-Requisitos/venv/lib/python3.11/site-packages/sentry_sdk/integrations/boto3.pysentry_patched_initz8Boto3Integration.setup_once.<locals>.sentry_patched_init+   s    Id,T,,,V,,,9D+6@@BBJK  !/JGGG   K  /ABBBK  !35MNNNNN    )r   BOTOCORE_VERSIONr   r   r   __init__)versionr+   r)   s     @r*   
setup_oncezBoto3Integration.setup_once#   s\       011/*EEE'	
	O 
	O 
	O 
	O 
	O 2
r,   N)__name__
__module____qualname__
identifieroriginstaticmethodr0    r,   r*   r   r      s?        J&*&&F2 2 \2 2 2r,   r   c                    d| d|}t          j        t          j        |t          j                  }t                      5  t          |j        d          }|	                    d|j                   |	                    t          j        |j                   |	                    t          j        |j                   d d d            n# 1 swxY w Y   |                    d|            |                    d|           |	                    t          j        |j                   |                                 ||j        d	<   d S )
Nzaws..opnamer5   F)sanitizezaws.request.urlzaws.service_idzaws.operation_name_sentrysdk_span)
sentry_sdk
start_spanr   HTTP_CLIENTr   r5   r
   r   urlset_datar   
HTTP_QUERYqueryHTTP_FRAGMENTfragmentset_tagHTTP_METHODmethod	__enter__context)r   requestoperation_namer(   descriptionspan
parsed_urls          r*   r#   r#   :   sz     ",^^<K >&  D 
%	&	& C Cw{U;;;
'888h):+;<<<h,j.ABBB	C C C C C C C C C C C C C C C 	LL!:...LL%~666MM(&777 	NN *.GO%&&&s   A<C

CCc                 x  	 |                      dd           }|d S |                    d d d            |                    d          }t          |t                    sd S |                    t          j        |j        t          j
                  	|j        |j        	fd}||_        	fd}||_        d S )Nr>   Bodyr:   c                      	  | i |}|s                                  |S # t          $ r                                    w xY wN)finish	Exception)r'   r(   ret	orig_readstreaming_spans      r*   sentry_streaming_body_readz6_sentry_after_call.<locals>.sentry_streaming_body_readm   sk    	)T,V,,C (%%'''J 	 	 	!!###	s	   #  Ac                  @                                       | i | d S rU   )rV   )r'   r(   
orig_closerZ   s     r*   sentry_streaming_body_closez7_sentry_after_call.<locals>.sentry_streaming_body_closez   s0    
D#F#####r,   )pop__exit__get
isinstancer   start_childr   HTTP_CLIENT_STREAMrO   r   r5   readclose)
rL   parsedr(   rP   bodyr[   r^   r]   rY   rZ   s
          @@@r*   r$   r$   W   s    ;;($//D |MM$d###::fDdM** %% & &  N 	IJ	 	 	 	 	 	 +DI$ $ $ $ $ $
 -DJJJr,   c                     |                      dd           }|d S |                    t          |          |d            d S )Nr>   )r_   r`   type)rL   	exceptionr(   rP   s       r*   r%   r%      sD    ;;($//D |MM$y//9d33333r,   )%	functoolsr   r?   sentry_sdk.constsr   r   sentry_sdk.integrationsr   r   r   sentry_sdk.tracingr	   sentry_sdk.utilsr
   r   r   r   typingr   r   r   r   r   r   r   r-   botocore.clientr   botocore.responser   botocore.awsrequestr   ImportErrorr   r#   r$   r%   r7   r,   r*   <module>rv      s             * * * * * * * * U U U U U U U U U U # # # # # #            !           4888888******//////....... 4 4 4
,2
3
3342 2 2 2 2{ 2 2 26 ,--. . .-.8(- (- (-V4 4 4 4 4s   A) )A: