
    YFi$                         d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ  ej                  e      Z G d de      Zd	 Zy)
    N)BaseHTTPMiddleware)Request)Response)CORSMiddleware)settingsc                       e Zd ZdefdZy)LoggingMiddlewarerequestc                   K   t        j                          } ||       d {   }t        j                          |z
  }t        j                  |j                   d|j                  j
                   d|dd       |S 7 Zw)N z completed in z.2fz seconds)timeloggerinfomethodurlpath)selfr
   	call_next
start_timeresponseprocess_times         C/var/www/html/BankruptcyAI-uat/bankruptcy-ai/src/core/middleware.pydispatchzLoggingMiddleware.dispatch   sp     YY[
"7++yy{Z/~~a 0 01S?QQYZ	
  ,s    A?A=AA?N)__name__
__module____qualname__r   r        r   r	   r	      s    	g 	r   r	   c                     | j                  t               | j                  t        t        j                  ddgdg       | j                  d      dt        fd       }| S )NT*)allow_originsallow_credentialsallow_methodsallow_headershttpr
   c                 P   K    ||        d {   }d|j                   d<   |S 7 w)NMyCustomHeaderValuezX-Custom-Header)headers)r
   r   r   s      r   add_custom_headerz,custom_middleware.<locals>.add_custom_header(   s.     "7++.C*+ ,s   &$&)add_middlewarer	   r   r   ORIGINS
middlewarer   )appr)   s     r   custom_middlewarer.      sj    () &&ee   	^^F  
 Jr   )r   loggingstarlette.middleware.baser   starlette.requestsr   starlette.responsesr   starlette.middleware.corsr   src.core.configr   	getLoggerr   r   r	   r.   r   r   r   <module>r6      s>      8 & ( 4 $			8	$
* 
r   