a
    y{Jh_                     @  s   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
mZ ddlmZ ddlmZmZmZ dd	lmZ erxdd
lmZ G dd deZdS )    )annotations)TYPE_CHECKINGAny	AwaitableCallableDictcast   )TelegramObjectUpdate)
ErrorEvent   )	UNHANDLEDCancelHandlerSkipHandler   )BaseMiddleware)Routerc                   @  s.   e Zd ZddddZddddd	d
dZdS )ErrorsMiddlewarer   routerc                 C  s
   || _ d S )Nr   )selfr    r   V/var/www/shaz/venv/lib/python3.9/site-packages/aiogram/dispatcher/middlewares/error.py__init__   s    zErrorsMiddleware.__init__z:Callable[[TelegramObject, Dict[str, Any]], Awaitable[Any]]r
   zDict[str, Any]r   )handlereventdatareturnc              
     s   z|||I d H W S  t tfy*    Y nj ty } zR| jjf dttt||dd|I d H }|tur||W  Y d }~S  W Y d }~n
d }~0 0 d S )Nerror)update	exception)Zupdate_typer   )	r   r   	Exceptionr   Zpropagate_eventr   r   r   r   )r   r   r   r   eresponser   r   r   __call__   s    zErrorsMiddleware.__call__N)__name__
__module____qualname__r   r%   r   r   r   r   r      s   r   N)
__future__r   typingr   r   r   r   r   r   typesr
   r   Ztypes.error_eventr   Zevent.basesr   r   r   baser   r   r   r   r   r   r   r   <module>   s    