o
    é’OjÆ  ã                   @  sT   d dl mZ d dlZd dlmZ G dd„ deƒZG dd„ deƒZG dd	„ d	eƒZ	dS )
é    )ÚannotationsN)ÚMappingc                   @  s,   e Zd Zddd
d„Zddd„Zddd„ZdS )ÚHTTPExceptionNÚstatus_codeÚintÚdetailú
str | NoneÚheadersúMapping[str, str] | NoneÚreturnÚNonec                 C  s*   |d u r
t  |¡j}|| _|| _|| _d S ©N)ÚhttpÚ
HTTPStatusÚphraser   r   r	   )Úselfr   r   r	   © r   úZ/var/www/html/pharmsmart-cdr-gen/venv/lib/python3.10/site-packages/starlette/exceptions.pyÚ__init__   s
   
zHTTPException.__init__Ústrc                 C  ó   | j › d| j› �S ©Nz: )r   r   ©r   r   r   r   Ú__str__   ó   zHTTPException.__str__c                 C  ó"   | j j}|› d| j›d| j›d�S )Nz(status_code=z	, detail=ú))Ú	__class__Ú__name__r   r   ©r   Ú
class_namer   r   r   Ú__repr__   ó   zHTTPException.__repr__)NN)r   r   r   r   r	   r
   r   r   ©r   r   ©r   Ú
__module__Ú__qualname__r   r   r!   r   r   r   r   r      s    
r   c                   @  s,   e Zd Zdddd	„Zddd„Zddd„ZdS )ÚWebSocketExceptionNÚcoder   Úreasonr   r   r   c                 C  s   || _ |pd| _d S )NÚ ©r(   r)   )r   r(   r)   r   r   r   r      s   zWebSocketException.__init__r   c                 C  r   r   r+   r   r   r   r   r      r   zWebSocketException.__str__c                 C  r   )Nz(code=z	, reason=r   )r   r   r(   r)   r   r   r   r   r!      r"   zWebSocketException.__repr__r   )r(   r   r)   r   r   r   r#   r$   r   r   r   r   r'      s    
r'   c                   @  s   e Zd ZdZdS )ÚStarletteDeprecationWarninga_  A custom deprecation warning for Starlette.

    Unlike the built-in DeprecationWarning, this inherits from UserWarning to ensure it is visible by default, helping
    users discover deprecated features without needing to enable warnings explicitly.

    Reference: https://sethmlarson.dev/deprecations-via-warnings-dont-work-for-python-libraries
    N)r   r%   r&   Ú__doc__r   r   r   r   r,   $   s    r,   )
Ú
__future__r   r   Úcollections.abcr   Ú	Exceptionr   r'   ÚUserWarningr,   r   r   r   r   Ú<module>   s    