U
    e                     @  sn   d dl mZ d dlZd dlZd dlZdZG dd deZG dd deZdZ	d	d
dddZ
ddddZdS )    )annotationsN)HTTPExceptionWebSocketExceptionc                   @  s>   e Zd ZddddddddZd	d
ddZd	d
ddZdS )r   Nint
str | Nonezdict[str, str] | NoneNone)status_codedetailheadersreturnc                 C  s*   |d krt |j}|| _|| _|| _d S N)http
HTTPStatusphraser   r	   r
   )selfr   r	   r
    r   8/tmp/pip-unpacked-wheel-2mv5qoba/starlette/exceptions.py__init__   s
    zHTTPException.__init__strr   c                 C  s   | j  d| j S Nz: )r   r	   r   r   r   r   __str__   s    zHTTPException.__str__c                 C  s"   | j j}| d| jd| jdS )Nz(status_code=z	, detail=))	__class____name__r   r	   r   
class_namer   r   r   __repr__   s    zHTTPException.__repr__)NNr   
__module____qualname__r   r   r   r   r   r   r   r   
   s
     r   c                   @  s<   e Zd ZdddddddZdd	d
dZdd	ddZdS )r   Nr   r   r   )codereasonr   c                 C  s   || _ |pd| _d S )N r"   r#   )r   r"   r#   r   r   r   r       s    zWebSocketException.__init__r   r   c                 C  s   | j  d| j S r   r%   r   r   r   r   r   $   s    zWebSocketException.__str__c                 C  s"   | j j}| d| jd| jdS )Nz(code=z	, reason=r   )r   r   r"   r#   r   r   r   r   r   '   s    zWebSocketException.__repr__)Nr   r   r   r   r   r      s   r   ExceptionMiddlewarer   z
typing.Any)namer   c                 C  sH   | t kr.ddlm} tjt  dtdd |S tdt d|  dd S )	Nr   )r&   zc is deprecated on `starlette.exceptions`. Import it from `starlette.middleware.exceptions` instead.   )category
stacklevelzmodule 'z' has no attribute '')__deprecated__Zstarlette.middleware.exceptionsr&   warningswarnDeprecationWarningAttributeErrorr   )r'   r&   r   r   r   __getattr__/   s    r1   z	list[str]r   c                   C  s   t tttg S r   )sortedlist__all__r,   r   r   r   r   __dir__=   s    r5   )
__future__r   r   typingr-   r4   	Exceptionr   r   r,   r1   r5   r   r   r   r   <module>   s   