§
    xÅj•&  ã                   ó  — d dl mZ d dlZd dlmZmZ d dlmZmZ d dl	m
Z
mZmZmZmZ d dlmZ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mZmZmZ n# e$ r  ed
¦  «        ‚w xY wdgZ G d„ de¦  «        Zdd„Z dd„Z!dS )é    )ÚTYPE_CHECKINGN)ÚOPÚSPANDATA)ÚDidNotEnableÚIntegration)Úadd_http_breadcrumbÚadd_http_request_sourceÚget_url_attributesÚhas_span_streaming_enabledÚpropagate_trace_headers)ÚSENSITIVE_DATA_SUBSTITUTEÚcapture_internal_exceptionsÚensure_integration_enabledÚnullcontextÚ	parse_url)ÚAny)Ú
Attributes)ÚAsyncClientÚClientÚRequestÚResponsezhttpx is not installedÚHttpxIntegrationc                   ó4   — e Zd ZdZde› �Zedd„¦   «         ZdS )r   Úhttpxz
auto.http.ÚreturnNc                  ó>   — t          ¦   «          t          ¦   «          dS )zº
        httpx has its own transport layer and can be customized when needed,
        so patch Client.send and AsyncClient.send to support both synchronous and async interfaces.
        N)Ú_install_httpx_clientÚ_install_httpx_async_client© ó    úNC:\Projects\Historical\venv\Lib\site-packages\sentry_sdk/integrations/httpx.pyÚ
setup_oncezHttpxIntegration.setup_once'   s"   € õ 	ÑÔÐÝ#Ñ%Ô%Ð%Ð%Ð%r    ©r   N)Ú__name__Ú
__module__Ú__qualname__Ú
identifierÚoriginÚstaticmethodr"   r   r    r!   r   r   #   sD   € € € € € Ø€JØ&˜*Ð&Ð&€Fàð&ð &ð &ñ „\ð&ð &ð &r    r   c                  óz   ‡— t           j        Št          t          ‰¦  «        d
ˆfd	„¦   «         } | t           _        d S )NÚselfr   Úrequestr   Úkwargsr   r   r   c                 óz  •— t          j        ¦   «         }t          |j        ¦  «        }d }t	          ¦   «         5  t          t          |j        ¦  «        d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   i }|�rgt           j         	                    ¦   «         €t          ¦   «         }nVt           j                             |j        ›d|r|j        nt          ›�t          j        t           j        |j        dœ¬¦  «        }t%          ||¦  «        }|5 }t'          ||¦  «         	  ‰| |fi |¤Ž}	|�/|	j        dk    rdnd|_        |                     d	|	j        ¦  «         |�|                     |¦  «         n# |�|                     |¦  «         w w xY w|�5t	          ¦   «         5  t1          |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   �nkt          j        t          j        |j        ›d|r|j        nt          ›�t           j        ¬
¦  «        5 }
|
                     t4          j        |j        ¦  «         |�e|
                     d|j        ¦  «         |
                     t4          j        |j        ¦  «         |
                     t4          j        |j        ¦  «         t'          ||¦  «          ‰| |fi |¤Ž}	|
                      |	j        ¦  «         |
                     d|	j!        ¦  «         d d d ¦  «         n# 1 swxY w Y   t	          ¦   «         5  t1          |
¦  «         d d d ¦  «         n# 1 swxY w Y   t4          j        |j        t4          j"        |	j        d|	j!        i}|r®|s?| #                    d|j        t4          j        |j        t4          j        |j        i¦  «         nm|rk| #                    d| $                    dd¦  «        t4          j        | $                    dd¦  «        t4          j        | $                    dd¦  «        i¦  «         tK          |	j        |¦  «         |	S ©NF)Úsanitizeú )z	sentry.opzsentry.originzhttp.request.method)ÚnameÚ
attributesi�  ÚerrorÚokzhttp.response.status_code)Úopr2   r(   ÚurlÚreasonzurl.fullÚ z	url.queryzurl.fragment)&Ú
sentry_sdkÚ
get_clientr   Úoptionsr   r   Ústrr7   ÚtracesÚget_current_spanr   Ú
start_spanÚmethodr   r   ÚHTTP_CLIENTr   r(   r
   r   Ústatus_codeÚstatusÚset_attributeÚset_attributesr	   Úset_datar   ÚHTTP_METHODÚ
HTTP_QUERYÚqueryÚHTTP_FRAGMENTÚfragmentÚset_http_statusÚreason_phraseÚHTTP_STATUS_CODEÚupdateÚgetr   ©r+   r,   r-   ÚclientÚis_span_streaming_enabledÚ
parsed_urlÚurl_attributesÚspan_ctxÚstreamed_spanÚrvÚspanÚbreadcrumb_dataÚ	real_sends               €r!   Úsendz#_install_httpx_client.<locals>.send4   s¢  ø€ åÔ&Ñ(Ô(ˆÝ$>¸v¼~Ñ$NÔ$NÐ!àˆ
Ý(Ñ*Ô*ð 	Eð 	EÝ"¥3 w¤{Ñ#3Ô#3¸eÐDÑDÔDˆJð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð (*ˆà$ñ B	.ÝÔ ×1Ò1Ñ3Ô3Ð;Ý&™=œ=��å%Ô,×7Ò7ð  œ˜˜Ø*4ÐS˜
œ˜Õ:SÐSðõ &(¤^Ý)9Ô)@Ø/6¬~ð ð  ð 8ñ ô �õ 0°¸
ÑCÔCˆNàð ?˜]Ý'¨°Ñ8Ô8Ð8ðEØ"˜ 4¨Ð;Ð;°FÐ;Ð;�Bà$Ð0à')¤~¸Ò'<Ð'<˜G˜GÀ$ð &Ô,ð &×3Ò3Ø7¸¼ñô ð ð %Ð0Ø%×4Ò4°^ÑDÔDÐDøøð %Ð0Ø%×4Ò4°^ÑDÔDÐDÐDð 1øøøð !Ð,õ 5Ñ6Ô6ð ?ð ?Ý/°Ñ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð)?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ùõ0 Ô&Ý”>ð ”N�N�NØ&0ÐO�J”N�NÕ6OÐOðõ
 (Ô.ðñ ô ð :ð Ø—’�hÔ2°G´NÑCÔCÐCØÐ)Ø—M’M %¨¬Ñ8Ô8Ð8Ø—M’M¥(Ô"5°zÔ7GÑHÔHÐHØ—M’M¥(Ô"8¸*Ô:MÑNÔNÐNå'¨°Ñ8Ô8Ð8à�Y˜t WÐ7Ð7°Ð7Ð7�à×$Ò$ R¤^Ñ4Ô4Ð4Ø—’˜h¨Ô(8Ñ9Ô9Ð9ð):ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :õ, -Ñ.Ô.ð .ð .Ý'¨Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .õ Ô  '¤.ÝÔ% r¤~Ø�bÔ&ð
ˆð ð 	Ø,ð Ø×&Ò&à˜zœ~Ý Ô+¨ZÔ-=Ý Ô.°
Ô0Cðñô ð ð ð  ð Ø×&Ò&à˜~×1Ò1°*¸bÑAÔAÝ Ô+¨^×-?Ò-?ÀÈRÑ-PÔ-PÝ Ô.°×0BÒ0BÀ>ÐSUÑ0VÔ0Vðñô ð õ 	˜BœN¨OÑ<Ô<Ð<àˆ	s„   ¹$A)Á)A-Á0A-ÄGÄ ;E3ÅGÅ3FÆGÆ F<Æ0GÆ<G 	Ç GÇG 	ÇGÇGÇGÈ#CLÌLÌLÌ$M Í MÍM)r+   r   r,   r   r-   r   r   r   )r   r]   r   r   ©r]   r\   s    @r!   r   r   1   sR   ø€ Ý”€IåÕ 0°)Ñ<Ô<ðhð hð hð hð hñ =Ô<ðhðT …F„K€K€Kr    c                  óT   ‡— t           j        Š	 	 	 	 	 	 	 	 d
ˆfd	„} | t           _        d S )Nr+   r   r,   r   r-   r   r   r   c              ›   óê  •K  — t          j        ¦   «         }|                     t          ¦  «        € ‰| |fi |¤Žƒ d {V —†S t	          |j        ¦  «        }d }t          ¦   «         5  t          t          |j	        ¦  «        d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   i }|�rmt           j
                             ¦   «         €t          ¦   «         }nVt           j
                             |j        ›d|r|j	        nt          ›�t           j        t          j        |j        dœ¬¦  «        }t'          ||¦  «        }|5 }t)          ||¦  «         	  ‰| |fi |¤Žƒ d {V —†}	|�/|	j        dk    rdnd|_        |                     d	|	j        ¦  «         |�|                     |¦  «         n# |�|                     |¦  «         w w xY w|�5t          ¦   «         5  t3          |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   �nqt          j        t           j        |j        ›d|r|j	        nt          ›�t          j        ¬
¦  «        5 }
|
                     t6          j        |j        ¦  «         |�e|
                     d|j	        ¦  «         |
                     t6          j        |j        ¦  «         |
                     t6          j        |j         ¦  «         t)          ||¦  «          ‰| |fi |¤Žƒ d {V —†}	|
 !                    |	j        ¦  «         |
                     d|	j"        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          ¦   «         5  t3          |
¦  «         d d d ¦  «         n# 1 swxY w Y   t6          j        |j        t6          j#        |	j        d|	j"        i}|r®|s?| $                    d|j	        t6          j        |j        t6          j        |j         i¦  «         nm|rk| $                    d| %                    dd¦  «        t6          j        | %                    dd¦  «        t6          j        | %                    dd¦  «        i¦  «         tM          |	j        |¦  «         |	S r/   )'r:   r;   Úget_integrationr   r   r<   r   r   r=   r7   r>   r?   r   r@   rA   r   r   rB   r(   r
   r   rC   rD   rE   rF   r	   rG   r   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   r   rR   s               €r!   r]   z)_install_httpx_async_client.<locals>.send¥   s  øè è € õ Ô&Ñ(Ô(ˆØ×!Ò!Õ"2Ñ3Ô3Ð;Ø"˜ 4¨Ð;Ð;°FÐ;Ð;Ð;Ð;Ð;Ð;Ð;Ð;Ð;å$>¸v¼~Ñ$NÔ$NÐ!Øˆ
Ý(Ñ*Ô*ð 	Eð 	EÝ"¥3 w¤{Ñ#3Ô#3¸eÐDÑDÔDˆJð	Eð 	Eð 	Eñ 	Eô 	Eð 	Eð 	Eð 	Eð 	Eð 	Eð 	Eøøøð 	Eð 	Eð 	Eð 	Eð (*ˆà$ñ A	.ÝÔ ×1Ò1Ñ3Ô3Ð;Ý&™=œ=��å%Ô,×7Ò7ð  œ˜˜Ø*4ÐS˜
œ˜Õ:SÐSðõ &(¤^Ý)9Ô)@Ø/6¬~ð ð  ð 8ñ ô �õ 0°¸
ÑCÔCˆNàð ?˜]Ý'¨°Ñ8Ô8Ð8ðEØ(˜y¨¨wÐAÐA¸&ÐAÐAÐAÐAÐAÐAÐAÐA�Bà$Ð0à')¤~¸Ò'<Ð'<˜G˜GÀ$ð &Ô,ð &×3Ò3Ø7¸¼ñô ð ð %Ð0Ø%×4Ò4°^ÑDÔDÐDøøð %Ð0Ø%×4Ò4°^ÑDÔDÐDÐDð 1øøøð !Ð,õ 5Ñ6Ô6ð ?ð ?Ý/°Ñ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð)?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ùõ. Ô&Ý”>ð ”N�N�NØ&0ÐO�J”N�NÕ6OÐOðõ
 (Ô.ðñ ô ð :ð Ø—’�hÔ2°G´NÑCÔCÐCØÐ)Ø—M’M %¨¬Ñ8Ô8Ð8Ø—M’M¥(Ô"5°zÔ7GÑHÔHÐHØ—M’M¥(Ô"8¸*Ô:MÑNÔNÐNå'¨°Ñ8Ô8Ð8à$˜9 T¨7Ð=Ð=°fÐ=Ð=Ð=Ð=Ð=Ð=Ð=Ð=�à×$Ò$ R¤^Ñ4Ô4Ð4Ø—’˜h¨Ô(8Ñ9Ô9Ð9ð):ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :õ, -Ñ.Ô.ð .ð .Ý'¨Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .õ Ô  '¤.ÝÔ% r¤~Ø�bÔ&ð
ˆð
 ð 	Ø,ð Ø×&Ò&à˜zœ~Ý Ô+¨ZÔ-=Ý Ô.°
Ô0Cðñô ð ð ð  ð Ø×&Ò&à˜~×1Ò1°*¸bÑAÔAÝ Ô+¨^×-?Ò-?ÀÈRÑ-PÔ-PÝ Ô.°×0BÒ0BÀ>ÐSUÑ0VÔ0Vðñô ð õ 	˜BœN¨OÑ<Ô<Ð<àˆ	s†   Á%$BÂBÂBÄ:HÅAF%ÆHÆ%F?Æ?HÇG.Ç"HÇ.G2	Ç2HÇ5G2	Ç6HÈH	ÈH	ÉC"MÍMÍ
MÍM8Í8M<Í?M<)r+   r   r,   r   r-   r   r   r   )r   r]   r^   s    @r!   r   r   ¢   sd   ø€ ÝÔ €IðjØðjØ&/ðjØ;@ðjà	ðjð jð jð jð jð jðX …KÔÐÐr    r#   )"Útypingr   r:   Úsentry_sdk.constsr   r   Úsentry_sdk.integrationsr   r   Úsentry_sdk.tracing_utilsr   r	   r
   r   r   Úsentry_sdk.utilsr   r   r   r   r   r   Úsentry_sdk._typesr   r   r   r   r   r   ÚImportErrorÚ__all__r   r   r   r   r    r!   ú<module>rj      sÖ  ðØ  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð -ØÐÐÐÐÐà,Ð,Ð,Ð,Ð,Ð,ð1Ø<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<øØð 1ð 1ð 1Ø
ˆ,Ð/Ñ
0Ô
0Ð0ð1øøøð Ð
€ð&ð &ð &ð &ð &�{ñ &ô &ð &ðnð nð nð nðboð oð oð oð oð os   ÁA ÁA$