o
    ùT·jÔ  ã                   @  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j |d¡}|| _|| _|| _d S ©NÚ )ÚhttpÚclientÚ	responsesÚgetr   r   r	   )Úselfr   r   r	   © r   úW/home/dinkstrade/pdmp-scanner/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 r   ©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__)N)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   Úhttp.clientr   Úcollections.abcr   Ú	Exceptionr   r)   ÚUserWarningr-   r   r   r   r   Ú<module>   s    