U
    	f+                     @   sp   d dl Z d dlmZ d dlmZmZmZmZmZm	Z	 d dl
mZ dddddZeed	d
dZG dd dZdS )    N)Any)ASGI3ApplicationASGIReceiveCallableASGIReceiveEventASGISendCallableASGISendEventWWWScope)TRACE_LOG_LEVELz<{length} bytes>z<{length} chars>z<...>)bodybytestextheadersmessagereturnc                 C   sL   |   }t D ]6}| |dk	r| | }t| jt|d}|||< q|S )zi
    Return an ASGI message, with any body-type content omitted and replaced
    with a placeholder.
    N)length)copyPLACEHOLDER_FORMATkeysgetformatlen)r   Znew_messageattrcontentZplaceholder r   d/var/www/html/apigroqsegura/apigroq/lib/python3.8/site-packages/uvicorn/middleware/message_logger.pymessage_with_placeholders   s    
r   c                   @   s.   e Zd ZddddZddddd	d
dZdS )MessageLoggerMiddlewarer   )appc                    s<   d _ | _td _tttd d fdd}| j_d S )Nr   zuvicorn.asgi)r   argskwargsr   c                    s    j jt| f|| d S )N)loggerlogr	   )r   r   r    selfr   r   trace*   s    z/MessageLoggerMiddleware.__init__.<locals>.trace)task_counterr   logging	getLoggerr!   r   r%   )r$   r   r%   r   r#   r   __init__%   s
    z MessageLoggerMiddleware.__init__r   r   r   N)scopereceivesendr   c           
   
      s    j d7  _ j |d}|r6d|d |d f nd dd fdd	}d
d d fdd}t|}d}j| | z|||I d H  W n< tk
r }	 zd}j|  |	d W 5 d }	~	X Y nX d}j|  d S )N   clientz%s:%d - ASGIr   ZASGIr   )r   c                     s.    I d H } t | }d}j| | | S )Nz%s [%d] Receive %sr   r!   r%   r   Zlogged_messagelog_text)prefixr+   r$   r&   r   r   inner_receive;   s       z7MessageLoggerMiddleware.__call__.<locals>.inner_receiver   r   c                    s0   t | }d}j| | | I d H  d S )Nz%s [%d] Send %sr/   r0   )r2   r$   r,   r&   r   r   
inner_sendD   s       z4MessageLoggerMiddleware.__call__.<locals>.inner_sendz%s [%d] Started scope=%sz%s [%d] Raised exceptionz%s [%d] Completed)r&   r   r   r!   r%   r   BaseException)
r$   r*   r+   r,   r.   r3   r4   Zlogged_scoper1   excr   )r2   r+   r$   r,   r&   r   __call__/   s"    
	z MessageLoggerMiddleware.__call__)__name__
__module____qualname__r)   r7   r   r   r   r   r   $   s   r   )r'   typingr   uvicorn._typesr   r   r   r   r   r   uvicorn.loggingr	   r   r   r   r   r   r   r   <module>   s    