
    e                     b    d dl mZmZmZ d dlmZ d dlmZ  G d de          Z	dede	defd	Z
d
S )    )AnyOptionalDict)Request)JSONResponsec            
       T    e Zd Z	 	 ddededeeeef                  ddfdZdefdZ	dS )	HTTPExceptionNstatus_codecontentheadersreturnc                 0    || _         || _        || _        d S )Nr
   r   r   )selfr
   r   r   s       %/journalistllm/app/exceptions/http.py__init__zHTTPException.__init__	   s     '    c                     g }| j                                         D ]4\  }}|                    d          s|                    | d|           5| j        j         dd                    |           dS )zvClass custom __repr__ method implementation.

        Returns:
            str: HTTPException string object.

        _=(z, ))__dict__items
startswithappend	__class____name__join)r   kwargskeyvalues       r   __repr__zHTTPException.__repr__   s     ---// 	2 	2JC>>#&& 200u00111.)@@DIIf,=,=@@@@r   )NN)
r   
__module____qualname__intr   r   r   strr   r#    r   r   r	   r	      s        
 ,0		 		 	 $sCx.)		
 
	 	 	 	A# A A A A A Ar   r	   request	exceptionr   c                 H   K   t          |j        |j        |j                  S )Nr   )r   r
   r   r   )r)   r*   s     r   http_exception_handlerr,   $   s/      )!!   r   N)typingr   r   r   fastapir   fastapi.responsesr   	Exceptionr	   r,   r(   r   r   <module>r1      s    & & & & & & & & & &       * * * * * *A A A A AI A A A:' m P\      r   