o
    96d+                     @   sr   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d	ed
ef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 ]}| |du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contentplaceholder r   xC:\Users\jesus\OneDrive\Desktop\erpjis_fastapi\backend\jisbackend\Lib\site-packages\uvicorn/middleware/message_logger.pymessage_with_placeholders   s   r   c                   @   s0   e Zd ZdddZ							
		dddZdS )MessageLoggerMiddlewareappr   c                    sB   d _ | _td _dtdtdtdd f fdd}| j_d S )	Nr   zuvicorn.asgir   argskwargsr   c                    s     j jt| g|R i | 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__scoper   receiver   sendr   r   Nc           
   
      s    j d7  _ j |d}|rd|d |d f nd d fdd	}d fdd}t|}d}j| | z|||I d H  W n tyf }	 zd}j|  |	d d }	~	ww d}j|  d S )N   clientz%s:%d - ASGIr   ZASGIr   r   c                     s0    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                    s2   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   N)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__)r   r   )r*   r   r+   r   r,   r   r   N)__name__
__module____qualname__r)   r7   r   r   r   r   r   $   s    

r   )r'   typingr   Zuvicorn._typesr   r   r   r   r   r   Zuvicorn.loggingr	   r   r   r   r   r   r   r   <module>   s     