o
    $6d                     @   sB   d dl mZ d dlmZ d dlmZmZmZmZ G dd dZ	dS )    )Optional)AsyncExitStack)ASGIAppReceiveScopeSendc                   @   s>   e Zd ZddededdfddZded	ed
eddfddZ	dS )AsyncExitStackMiddlewarefastapi_astackappcontext_namereturnNc                 C   s   || _ || _d S N)r
   r   )selfr
   r    r   xC:\Users\jesus\OneDrive\Desktop\erpjis_fastapi\backend\jisbackend\Lib\site-packages\fastapi/middleware/asyncexitstack.py__init__   s   
z!AsyncExitStackMiddleware.__init__scopereceivesendc                    s   d }t  4 I d H -}||| j< z| |||I d H  W n ty, } z|}|d }~ww W d   I d H  n1 I d H s=w   Y  |rF|d S r   )r   r   r
   	Exception)r   r   r   r   Zdependency_exceptionstacker   r   r   __call__   s    
(z!AsyncExitStackMiddleware.__call__)r	   )
__name__
__module____qualname__r   strr   r   r   r   r   r   r   r   r   r      s    r   N)
typingr   Zfastapi.concurrencyr   Zstarlette.typesr   r   r   r   r   r   r   r   r   <module>   s    