U
    &%e1                     @   s   U d dl 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 G dd deZ
edZee ed< ed	Zee ed
< G dd deZG dd deZG dd deZG dd deZG dd deZdS )    )AnyDictOptionalSequenceType)	BaseModelcreate_model)HTTPException)WebSocketExceptionc                       s6   e Zd Zdeeeeeef  dd fddZ  Z	S )r	   N)status_codedetailheadersreturnc                    s   t  j|||d d S )N)r   r   r   )super__init__)selfr   r   r   	__class__ Q/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/fastapi/exceptions.pyr   	   s    zHTTPException.__init__)NN)
__name__
__module____qualname__intr   r   r   strr   __classcell__r   r   r   r   r	      s     r	   RequestRequestErrorModelZ	WebSocketWebSocketErrorModelc                   @   s   e Zd ZdZdS )FastAPIErrorz,
    A generic, FastAPI-specific error.
    N)r   r   r   __doc__r   r   r   r   r      s   r   c                   @   s2   e Zd Zee ddddZee dddZdS )ValidationExceptionN)errorsr   c                 C   s
   || _ d S N_errors)r   r"   r   r   r   r      s    zValidationException.__init__r   c                 C   s   | j S r#   r$   )r   r   r   r   r"       s    zValidationException.errors)r   r   r   r   r   r   r"   r   r   r   r   r!      s   r!   c                       s0   e Zd Zddee edd fddZ  ZS )RequestValidationErrorNbodyr"   r)   r   c                   s   t  | || _d S r#   r   r   r)   r   r"   r)   r   r   r   r   %   s    zRequestValidationError.__init__)r   r   r   r   r   r   r   r   r   r   r   r'   $   s   r'   c                   @   s   e Zd ZdS )WebSocketRequestValidationErrorN)r   r   r   r   r   r   r   r-   *   s   r-   c                       s>   e Zd Zddee edd fddZedddZ  ZS )	ResponseValidationErrorNr(   r*   c                   s   t  | || _d S r#   r+   r,   r   r   r   r   /   s    z ResponseValidationError.__init__r&   c                 C   s0   t | j d}| jD ]}|d| d7 }q|S )Nz validation errors:
z  
)lenr%   )r   messageerrr   r   r   __str__3   s    
zResponseValidationError.__str__)	r   r   r   r   r   r   r   r3   r   r   r   r   r   r.   .   s    r.   N)typingr   r   r   r   r   Zpydanticr   r   Zstarlette.exceptionsr	   ZStarletteHTTPExceptionr
   r   __annotations__r   RuntimeErrorr   	Exceptionr!   r'   r-   r.   r   r   r   r   <module>   s    
