o
     d                     @   s   U d dl mZmZmZmZmZ d dlmZmZm	Z	 d dl
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dS )    )AnyDictOptionalSequenceType)	BaseModelValidationErrorcreate_model)	ErrorList)HTTPException)WebSocketExceptionc                
       s@   e Zd Z		ddededeeeef  ddf 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__ =/usr/local/lib/python3.10/dist-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RequestErrorModel	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                       s4   e Zd Zdddee deddf fddZ  ZS )RequestValidationErrorN)bodyerrorsr%   r   c                   s   || _ t |t d S N)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   r$      s    ,r$   c                       s*   e Zd Zdee ddf fddZ  ZS )WebSocketRequestValidationErrorr&   r   Nc                    s   t  |t d S r'   )r   r   r!   )r   r&   r   r   r   r   $   s   z(WebSocketRequestValidationError.__init__)r   r   r   r   r
   r   r   r   r   r   r   r(   #   s    "r(   N)typingr   r   r   r   r   pydanticr   r   r	   pydantic.error_wrappersr
   starlette.exceptionsr   StarletteHTTPExceptionr   r   __annotations__r!   RuntimeErrorr"   r$   r(   r   r   r   r   <module>   s    
