§
    xÅjH"  ã                   óâ  — d dl mZ d dlmZmZmZ d dlZ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mZmZmZmZmZmZ d d
lmZmZ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$m%Z% d dl&m'Z'm(Z( d dl)m*Z*m+Z+m,Z, d dl-m.Z.m/Z/ n# e0$ r  ed¦  «        ‚w xY w G d„ de¦  «        Z1d-d„Z2de3de4ddddfd„Z5	 	 	 	 	 	 d.d!„Z6e	 	 	 	 	 	 d/d%„¦   «         Z7	 	 	 	 	 	 d0d)„Z8	 	 	 	 	 	 d1d,„Z9dS )2é    )Úcontextmanager)ÚTYPE_CHECKINGÚAnyÚ	GeneratorN)Ú
start_span)ÚOPÚSPANDATA)ÚDidNotEnableÚIntegration)ÚStreamedSpan)ÚBAGGAGE_HEADER_NAME)Úadd_http_breadcrumbÚadd_http_request_sourceÚadd_sentry_baggage_to_headersÚget_url_attributesÚhas_span_streaming_enabledÚpropagate_trace_headersÚshould_propagate_trace)ÚSENSITIVE_DATA_SUBSTITUTEÚcapture_internal_exceptionsÚloggerÚ	parse_url)ÚOptional)Ú
Attributes)Ú	ParsedUrl)ÚClientBuilderÚSyncClientBuilder)ÚNextÚSyncNext)ÚOneOffRequestBuilderÚRequestÚSyncOneOffRequestBuilder)ÚResponseÚSyncResponsez9pyreqwest not installed or incompatible version installedc                   ó4   — e Zd ZdZde› �Zedd„¦   «         ZdS )ÚPyreqwestIntegrationÚ	pyreqwestz
auto.http.ÚreturnNc                  ó"   — t          ¦   «          d S )N)Ú_patch_pyreqwest© ó    úRC:\Projects\Historical\venv\Lib\site-packages\sentry_sdk/integrations/pyreqwest.pyÚ
setup_oncezPyreqwestIntegration.setup_once7   s   € åÑÔÐÐÐr,   ©r(   N)Ú__name__Ú
__module__Ú__qualname__Ú
identifierÚoriginÚstaticmethodr.   r+   r,   r-   r&   r&   3   sD   € € € € € Ø€JØ&˜*Ð&Ð&€Fàðð ð ñ „\ðð ð r,   r&   r(   c                  óÞ   — t          t          dt          ¦  «         t          t          dt          ¦  «         t          t
          dt          ¦  «         t          t          dt          ¦  «         d S )NÚbuildÚsend)Ú_patch_builder_methodr   Úsentry_async_middlewarer   Úsentry_sync_middlewarer    r"   r+   r,   r-   r*   r*   <   sY   € å�-¨Õ2IÑJÔJÐJÝÕ+¨WÕ6LÑMÔMÐMõ Õ.°Õ8OÑPÔPÐPÝÕ2°FÕ<RÑSÔSÐSÐSÐSr,   ÚclsÚmethod_nameÚ
middlewarer   c                 ó~   ‡‡— t          | |¦  «        sd S t          | |¦  «        Šdˆˆfd„}t          | ||¦  «         d S )NÚselfr   ÚargsÚkwargsr(   c                 ó  •— t          j        ¦   «                              t          ¦  «        }t	          | dd¦  «        s|€ ‰| g|¢R i |¤ŽS |                      ‰¦  «         	 d| _        n# t          t          f$ r Y nw xY w ‰| g|¢R i |¤ŽS )NÚ_sentry_instrumentedFT)	Ú
sentry_sdkÚ
get_clientÚget_integrationr&   ÚgetattrÚwith_middlewarerD   Ú	TypeErrorÚAttributeError)r@   rA   rB   Úintegrationr>   Úoriginal_methods       €€r-   Úsentry_patched_methodz4_patch_builder_method.<locals>.sentry_patched_methodL   sÅ   ø€ Ý Ô+Ñ-Ô-×=Ò=Õ>RÑSÔSˆå�4Ð/°Ñ7Ô7ð 	:¸;Ð;NØ"�? 4Ð9¨$Ð9Ð9Ð9°&Ð9Ð9Ð9à×Ò˜ZÑ(Ô(Ð(ð	Ø(,ˆDÔ%Ð%øÝ�>Ð*ð 	ð 	ð 	àˆDð	øøøð ˆ˜tÐ5 dÐ5Ð5Ð5¨fÐ5Ð5Ð5s   Á"A* Á*A>Á=A>)r@   r   rA   r   rB   r   r(   r   )ÚhasattrrH   Úsetattr)r<   r=   r>   rN   rM   s     ` @r-   r9   r9   F   sh   øø€ Ý�3˜Ñ$Ô$ð Øˆå˜c ;Ñ/Ô/€Oð6ð 6ð 6ð 6ð 6ð 6ð 6õ  ˆC�Ð3Ñ4Ô4Ð4Ð4Ð4r,   Ú
parsed_urlúOptional[ParsedUrl]Úurl_attributesr   údict[str, Any]c           	      óV  — | �|si S | j         }t          t          j        ¦   «         j        ¦  «        r |                     t          j        |¦  «        }d|t          j        |                     t          j	        d¦  «        t          j
        |                     t          j        d¦  «        iS )NÚurlÚ )rV   r   rE   rF   ÚoptionsÚgetr	   ÚURL_FULLÚ
HTTP_QUERYÚ	URL_QUERYÚHTTP_FRAGMENTÚURL_FRAGMENT)rQ   rS   rV   s      r-   Ú_get_breadcrumb_url_datar_   _   s˜   € ð Ð ÐØˆ	ð Œ.€CÝ!¥*Ô"7Ñ"9Ô"9Ô"AÑBÔBð 9Ø× Ò ¥Ô!2°CÑ8Ô8ˆð 	ˆsÝÔ˜^×/Ò/µÔ0BÀBÑGÔGÝÔ × 2Ò 2µ8Ô3HÈ"Ñ MÔ Mðð r,   Úrequestr!   úGenerator[Any, None, None]c           	   #   ó6  K  — d }t          ¦   «         5  t          t          | j        ¦  «        d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t	          t          j        ¦   «         j        ¦  «        }|�rOt
          j         	                    ¦   «         €(t          t          j        ¦   «         | ¬¦  «         d V — d S t
          j                             | j        › d|r|j        nt          › �dt          j        dt           j        t$          j        | j        i¬¦  «        5 }|                     ¦   «         D ]\  }}|                     ||¦  «         Œt          t          j        ¦   «         | ¬¦  «         |V — |�5t          ¦   «         5  t-          |¦  «         d d d ¦  «         n# 1 swxY w Y   	 d d d ¦  «         d S # 1 swxY w Y   t          t          j        | j        › d|r|j        nt          › �t           j        ¬¦  «        5 }|                     t$          j        | j        ¦  «         |�e|                     d	|j        ¦  «         |                     t$          j        |j        ¦  «         |                     t$          j        |j        ¦  «         t;          t          j        ¦   «         t          | j        ¦  «        ¦  «        r…t          j        ¦   «                              ¦   «         D ]_\  }}tA          j!        d
 "                    ||| j        ¬¦  «        ¦  «         |tF          k    rtI          | j%        |¦  «         ŒU|| j%        |<   Œ`|V — d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5  t-          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NF©Úsanitize)Úclientr`   ú z	sentry.opzsentry.origin)ÚnameÚ
attributes)Úoprg   r4   rV   zE[Tracing] Adding `{key}` header {value} to outgoing request to {url}.)ÚkeyÚvaluerV   )&r   r   ÚstrrV   r   rE   rF   rX   ÚtracesÚget_current_spanr   r   Úmethodr   r   ÚHTTP_CLIENTr&   r4   r	   ÚHTTP_REQUEST_METHODÚitemsÚset_attributer   Úset_dataÚHTTP_METHODr[   Úqueryr]   Úfragmentr   Úget_current_scopeÚiter_trace_propagation_headersr   ÚdebugÚformatr   r   Úheaders)r`   rS   rQ   Úspan_streamingÚspanrj   rk   s          r-   Ú_sentry_pyreqwest_spanr   r   sÎ  è è € ð €JÝ	$Ñ	&Ô	&ð Að AÝ�s 7¤;Ñ/Ô/¸%Ð@Ñ@Ô@ˆ
ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aõ 0µ
Ô0EÑ0GÔ0GÔ0OÑPÔP€NØñ ÝÔ×-Ò-Ñ/Ô/Ð7Ý#­:Ô+@Ñ+BÔ+BÈGÐTÑTÔTÐTØˆJˆJˆJØˆFåÔ×)Ò)Ø”NÐbÐb°zÐ%` Z¤^ ^ÕG`ÐbÐbà�Rœ^ØÕ!5Ô!<ÝÔ,¨g¬nðð *ñ 
ô 
ð 	ð Ø,×2Ò2Ñ4Ô4ð /ð /‘
��UØ×"Ò" 3¨Ñ.Ô.Ð.Ð.å#­:Ô+@Ñ+BÔ+BÈGÐTÑTÔTÐTàˆJˆJˆJàÐÝ0Ñ2Ô2ð 2ð 2Ý+¨DÑ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð ð'	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ* 
ÝŒ>Ø”Ð^Ð^°:Ð!\ ¤ ÕC\Ð^Ð^Ý#Ô*ð
ñ 
ô 
ð ð 
Ø�Š•hÔ*¨G¬NÑ;Ô;Ð;ØÐ!Ø�MŠM˜% ¤Ñ0Ô0Ð0Ø�MŠM�(Ô-¨zÔ/?Ñ@Ô@Ð@Ø�MŠM�(Ô0°*Ô2EÑFÔFÐFå!¥*Ô"7Ñ"9Ô"9½3¸w¼{Ñ;KÔ;KÑLÔLð 	1õ Ô-Ñ/Ô/×NÒNÑPÔPð1ð 1ñ ØØå”Ø[×bÒbØ u°'´+ð cñ ô ñô ð ð Õ-Ò-Ð-Ý1°'´/À5ÑIÔIÐIÐIà+0�G”O CÑ(Ð(àˆ
ˆ
ˆ
ð7ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ: 
%Ñ	&Ô	&ð &ð &Ý Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &sm   “$AÁAÁ
AÄA'F:ÆF!ÆF:Æ!F%	Æ%F:Æ(F%	Æ)F:Æ:F>ÇF>ÈE	MÍMÍMÍ1NÎNÎNÚnext_handlerr   r#   c              ƒ   óŽ  K  — t          j        ¦   «                              t          ¦  «        €|                     | ¦  «        ƒ d {V —†S | j        }d }t          ¦   «         5  t          t          | j	        ¦  «        d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          t          j        ¦   «         |¦  «        }d }t          | |¦  «        5 }|                     | ¦  «        ƒ d {V —†}t          |t          ¦  «        r:|j        dk    rdnd|_        |                     t           j        |j        ¦  «         n|�|                     |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |�Wt           j        |t           j        |j        i}|                     t+          ||¦  «        ¦  «         t-          |j        |¦  «         |S ©NFrc   i�  ÚerrorÚok©rE   rF   rG   r&   Úrunro   r   r   rl   rV   r   r   Ú
isinstancer   Ústatusrs   r	   ÚHTTP_STATUS_CODEÚset_http_statusru   Úupdater_   r   ©r`   r€   ro   rQ   rS   Úresponser~   Úbreadcrumb_datas           r-   r:   r:   ·   sV  è è € õ ÔÑÔ×.Ò.Õ/CÑDÔDÐLØ!×%Ò% gÑ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.àŒ^€FØ€JÝ	$Ñ	&Ô	&ð Að Aõ �s 7¤;Ñ/Ô/¸%Ð@Ñ@Ô@ˆ
ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aõ
 (­
Ô(=Ñ(?Ô(?ÀÑLÔL€Nà€HÝ	 ¨Ñ	8Ô	8ð 	2¸DØ%×)Ò)¨'Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2ˆÝ�d�LÑ)Ô)ð 	2Ø%-¤_¸Ò%;Ð%;˜'˜'ÀˆDŒKØ×ÒÝÔ)Ø”ñô ð ð ð ÐØ× Ò  ¤Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð ÐåÔ  &ÝÔ% x¤ð
ˆð
 	×ÒÕ7¸
ÀNÑSÔSÑTÔTÐTå˜HœO¨_Ñ=Ô=Ð=à€Os%   Á $BÂBÂBÃBE!Å!E%Å(E%r   r$   c                 ór  — t          j        ¦   «                              t          ¦  «        €|                     | ¦  «        S | j        }d }t          ¦   «         5  t          t          | j	        ¦  «        d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          t          j        ¦   «         |¦  «        }d }t          | |¦  «        5 }|                     | ¦  «        }t          |t          ¦  «        r:|j        dk    rdnd|_        |                     t           j        |j        ¦  «         n|�|                     |j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |�Wt           j        |t           j        |j        i}|                     t+          ||¦  «        ¦  «         t-          |j        |¦  «         |S r‚   r…   rŒ   s           r-   r;   r;   à   s.  € õ ÔÑÔ×.Ò.Õ/CÑDÔDÐLØ×Ò Ñ(Ô(Ð(àŒ^€FØ€JÝ	$Ñ	&Ô	&ð Að Aõ �s 7¤;Ñ/Ô/¸%Ð@Ñ@Ô@ˆ
ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aõ
 (­
Ô(=Ñ(?Ô(?ÀÑLÔL€Nà€HÝ	 ¨Ñ	8Ô	8ð 	2¸DØ×#Ò# GÑ,Ô,ˆÝ�d�LÑ)Ô)ð 	2Ø%-¤_¸Ò%;Ð%;˜'˜'ÀˆDŒKØ×ÒÝÔ)Ø”ñô ð ð ð ÐØ× Ò  ¤Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð ÐåÔ  &ÝÔ% x¤ð
ˆð
 	×ÒÕ7¸
ÀNÑSÔSÑTÔTÐTå˜HœO¨_Ñ=Ô=Ð=à€Os%   Á$BÂBÂBÃBEÅEÅEr/   )rQ   rR   rS   r   r(   rT   )r`   r!   rS   r   r(   ra   )r`   r!   r€   r   r(   r#   )r`   r!   r€   r   r(   r$   ):Ú
contextlibr   Útypingr   r   r   rE   r   Úsentry_sdk.constsr   r	   Úsentry_sdk.integrationsr
   r   Úsentry_sdk.tracesr   Úsentry_sdk.tracingr   Úsentry_sdk.tracing_utilsr   r   r   r   r   r   r   Úsentry_sdk.utilsr   r   r   r   r   Úsentry_sdk._typesr   r   Úpyreqwest.clientr   r   Úpyreqwest.middlewarer   r   Úpyreqwest.requestr    r!   r"   Úpyreqwest.responser#   r$   ÚImportErrorr&   r*   Útyperl   r9   r_   r   r:   r;   r+   r,   r-   ú<module>rŸ      s™  ðØ %Ð %Ð %Ð %Ð %Ð %Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0à Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø *Ð *Ð *Ð *Ð *Ð *Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð +ØÐÐÐÐÐà,Ð,Ð,Ð,Ð,Ð,Ø*Ð*Ð*Ð*Ð*Ð*ðTðð ð ð ð ð ð ð ð 4Ð3Ð3Ð3Ð3Ð3Ð3Ð3ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð øð ð Tð Tð TØ
ˆ,ÐRÑ
SÔ
SÐSðTøøøðð ð ð ð ˜;ñ ô ð ðTð Tð Tð Tð5˜tð 5°#ð 5À5ð 5ÈTð 5ð 5ð 5ð 5ð2Ø%ðØ7Cðàðð ð ð ð& ðA&ØðA&Ø(4ðA&à!ðA&ð A&ð A&ñ „ðA&ðH&Øð&àð&ð ð&ð &ð &ð &ðR%Øð%Ø&0ð%àð%ð %ð %ð %ð %ð %s   Á*"B ÂB