
    QbjA                        S r SSKrSSKJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr  SSKJrJr  SS	KJr  SS
KJr  SSKJr  SSKJr  SSKJr  \R2                  " \R4                  S9  \R6                  " \5      r\" \S/S9r\" 5       r\S\4S j5       r \" SS\ S9r!\\!RD                  l        \!RG                  \\5        \!RI                  \5        \!RI                  \\RJ                  SS/S/S9  SSK&J'r(  SSK)J'r*  \!RW                  \(SS/S9  \!RW                  \*SS/S9  \!RY                  S5      S 5       r-\!RY                  S 5      S! 5       r.g)"u.   LSEG Credit Analytics — FastAPI application.    N)asynccontextmanager)FastAPI)CORSMiddleware)FileResponse)Path)Limiter_rate_limit_exceeded_handler)RateLimitExceeded)SlowAPIMiddleware)get_remote_address)settings)ServiceRegistry)levelz
120/minute)key_funcdefault_limitsappc                   #    [         R                  5         [         U R                  l         [        R	                  S[
        R                  5        S 7v   [        R	                  S5        g 7f)Nu'   LSEG Credit API ready — data path: %szLSEG Credit API shutting down)registry
initializestateloggerinfor   lseg_data_path)r   s    %/root/lseg-credit/backend/app/main.pylifespanr      sB     !CII
KK98;R;RS	
KK/0s   A)A+zLSEG Credit Analytics APIz1.0.0)titleversionr   T*)allow_originsallow_credentialsallow_methodsallow_headers)routerz/api/lseg-creditzlseg-credit)prefixtagsz
peer-curvez/api/healthc                     #    SS0$ 7f)Nstatusok r)       r   healthr+   6   s     ds   /c                  Z   #    [        [        [        5      R                  S   S-  5      $ 7f)N   ztest-ui.html)r   r   __file__parentsr)   r*   r   uir1   ;   s$     X..q1NBCCs   )+)/__doc__logging
contextlibr   fastapir   fastapi.middleware.corsr   fastapi.responsesr   pathlibr   slowapir   r	   slowapi.errorsr
   slowapi.middlewarer   slowapi.utilr   
app.configr   app.services.registryr   basicConfigINFO	getLogger__name__r   limiterr   r   r   r   add_exception_handleradd_middlewarecors_origin_listapp.routers.lseg_creditr#   lseg_credit_routerapp.routers.peer_curvepeer_curve_routerinclude_routergetr+   r1   r)   r*   r   <module>rM      s`   4  *  2 *  9 , 0 +  1   ',, '			8	$
-|n
M 1 1 1 /8T		    +-I J   $ %   ++%%   A >   %.@  W   $-?|n  U   D Dr*   