a
    ]gp                     @  sJ   d dl mZ d dlZd dlZd dlZd dlZddlmZ G dd dZdS )    )annotationsN   )Requestc                   @  s   e Zd Zddddddddd	Zdd
ddddZd dddZddddddddZdd
ddddZd dddZddddddddZ	dS ) TraceNstrzlogging.LoggerzRequest | Nonezdict[str, typing.Any] | NoneNone)nameloggerrequestkwargsreturnc                 C  sp   || _ || _|d u rd n
|jd| _| jtj| _|p<i | _	d | _
| jpT| jd u| _| jj dd | _d S )Ntrace.)r   r	   
extensionsgettrace_extensionisEnabledForloggingDEBUGdebugr   return_valueshould_tracesplitprefix)selfr   r	   r
   r    r   ]/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/site-packages/httpcore/_trace.py__init__   s    
zTrace.__init__zdict[str, typing.Any])r   infor   c                 C  s   | j d ur8| j d| }|  ||}t|r8td| jr|rVd|v r\|d d u r\|}n&ddd | D }| d| }| j| d S )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    c                 S  s   g | ]\}}| d |qS =r   .0keyvaluer   r   r   
<listcomp>-       zTrace.trace.<locals>.<listcomp>	r   r   inspectiscoroutine	TypeErrorr   joinitemsr	   )r   r   r   prefix_and_nameretmessageargsr   r   r   r      s    

zTrace.trace)r   c                 C  s$   | j r | j}| | j d| | S Nz.started)r   r   r   r   r   r   r   r   r   	__enter__1   s    zTrace.__enter__ztype[BaseException] | NonezBaseException | Noneztypes.TracebackType | None)exc_type	exc_value	tracebackr   c                 C  sN   | j rJ|d u r.d| ji}| | j d| nd|i}| | j d| d S Nr   z	.complete	exceptionz.failed)r   r   r   r   r   r6   r7   r8   r   r   r   r   __exit__7   s    
zTrace.__exit__c                   s   | j d urB| j d| }|  ||}t|s8td|I d H  | jr|r`d|v rf|d d u rf|}n&ddd | D }| d| }| j| d S )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    c                 S  s   g | ]\}}| d |qS r!   r   r#   r   r   r   r'   U   r(   z Trace.atrace.<locals>.<listcomp>r)   )r   r   r   r/   coror1   r2   r   r   r   atraceE   s    


zTrace.atracec                   s*   | j r&| j}| | j d|I d H  | S r3   )r   r   r>   r   r4   r   r   r   
__aenter__Y   s    zTrace.__aenter__c                   sZ   | j rV|d u r4d| ji}| | j d|I d H  n"d|i}| | j d|I d H  d S r9   )r   r   r>   r   r;   r   r   r   	__aexit___   s    
zTrace.__aexit__)NN)NNN)NNN)
__name__
__module____qualname__r   r   r5   r<   r>   r?   r@   r   r   r   r   r      s           r   )	
__future__r   r*   r   typestypingZ_modelsr   r   r   r   r   r   <module>   s   