
    ՟fr                     X    d dl Z d dlZd dlmZ d dlmZmZmZmZ ddl	m
Z
  G d d      Zy)    N)TracebackType)AnyDictOptionalType   )Requestc                      e Zd Z	 	 ddedej
                  dee   deeee	f      ddf
dZ
dedeee	f   ddfd	Zdd
Z	 	 	 ddeee      dee   dee   ddfdZdedeee	f   ddfdZddZ	 	 	 ddeee      dee   dee   ddfdZy)TraceNnameloggerrequestkwargsreturnc                    || _         || _        |d n|j                  j                  d      | _        | j                  j                  t        j                        | _        |xs i | _	        d | _
        | j                  xs | j                  d u| _        | j                  j                   j                  d      d   | _        y )Ntrace.)r   r   
extensionsgettrace_extensionisEnabledForloggingDEBUGdebugr   return_valueshould_tracesplitprefix)selfr   r   r   r   s        J/var/www/cvtools/html/venv/lib/python3.12/site-packages/httpcore/_trace.py__init__zTrace.__init__
   s     	OD););)?)?)H 	 [[--gmm<
l!% JJJ$*>*>d*Jkk&&,,S1"5    infoc           	         | j                   C| j                   d| }| j                  ||      }t        j                  |      rt	        d      | j
                  rh|r	d|v r|d   |}n>dj                  |j                         D cg c]  \  }}| d| c}}      }| d| }| j                  j                  |       y y c c}}w )Nr   zIf you are using a synchronous interface, the callback of the `trace` extension should be a normal function instead of an asynchronous function.r    =	r   r   inspectiscoroutine	TypeErrorr   joinitemsr   )	r    r   r$   prefix_and_nameretmessagekeyvalueargss	            r!   r   zTrace.trace   s    +!%Qtf5O&&=C""3'P  ::>T1d>6J6Rxxdjjl S
UC5%!3 ST!F!D6*KKg&  !Ts   C
c                 t    | j                   r+| j                  }| j                  | j                   d|       | S Nz.started)r   r   r   r   r    r$   s     r!   	__enter__zTrace.__enter__/   s2    ;;DJJ$))H-t4r#   exc_type	exc_value	tracebackc                     | j                   rT|.d| j                  i}| j                  | j                   d|       y d|i}| j                  | j                   d|       y y Nr   z	.complete	exceptionz.failed)r   r   r   r   r    r8   r9   r:   r$   s        r!   __exit__zTrace.__exit__5   sd      &(9(9:

dii[	2D9#Y/

dii[0$7 r#   c           	        K   | j                   M| j                   d| }| j                  ||      }t        j                  |      st	        d      | d {    | j
                  rh|r	d|v r|d   |}n>dj                  |j                         D cg c]  \  }}| d| c}}      }| d| }| j                  j                  |       y y 7 yc c}}w w)Nr   zIf you're using an asynchronous interface, the callback of the `trace` extension should be an asynchronous function rather than a normal function.r   r&   r'   r(   )	r    r   r$   r.   coror0   r1   r2   r3   s	            r!   atracezTrace.atraceC   s     +!%Qtf5O''>D&&t,Q 
 JJ::>T1d>6J6Rxxdjjl S
UC5%!3 ST!F!D6*KKg&   !Ts$   ACC<CC
%-CCc                    K   | j                   r3| j                  }| j                  | j                   d|       d {    | S 7 wr5   )r   r   rB   r   r6   s     r!   
__aenter__zTrace.__aenter__W   sA     ;;D++84d;;; <s   ;AAAc                    K   | j                   rd|6d| j                  i}| j                  | j                   d|       d {    y d|i}| j                  | j                   d|       d {    y y 7 27 wr<   )r   r   rB   r   r>   s        r!   	__aexit__zTrace.__aexit__]   s       &(9(9:kkTYYKy"94@@@#Y/kkTYYKw"7>>>  A ?s#   ?A8A4+A8-A6.A86A8)NN)r   r   )NNN)__name__
__module____qualname__strr   Loggerr   r	   r   r   r"   r   r7   r   BaseExceptionr   r?   rB   rD   rF    r#   r!   r   r   	   s7   
 &*+/66 6 '"	6
 c3h(6 
6$'# 'T#s(^ ' '& 37-1-1	84./8 M*8 M*	8
 
8' 'DcN 't '( 37-1-1	?4./? M*? M*	?
 
?r#   r   )r)   r   typesr   typingr   r   r   r   _modelsr	   r   rM   r#   r!   <module>rQ      s#       , , `? `?r#   