
    i                     &   d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZmZmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZ d dlmZ  ed          Z e            Zedefd            Z eej        erdnderdnderdnde          Ze                    e           e                     ee           e                     ee           e                     ee           e                     e!e           e"                    e
           dS )    )asynccontextmanager)FastAPI)HTTPExceptionRequestValidationError)r   )router)http_exception_handler$request_validation_exception_handlerunhandled_exception_handler)RequestIdMiddleware)
is_dev_env)settings)start_schedulershutdown_scheduler)
get_loggermainappc                   K   t                               d           t                       d W V  t                               d           t                       d S )NzApplication starting...zApplication shutting down...)loggerinfor   r   )r   s    /code/app/main.pylifespanr      sU      
KK)***	EEEE
KK.///    z/docsNz/redocz/openapi.json)titledocs_url	redoc_urlopenapi_urlr   )#
contextlibr   fastapir   fastapi.exceptionsr   r   starlette.exceptionsStarletteHTTPExceptionapp.routersr   app.handlers.errorsr   r	   r
   app.middleware.request_idr   app.utils.envr   app.settingsr   +app.scheduler.cleanup_preserved_handwritingr   r   app.utils.loggerr   r   docs_enabledr   APP_NAMEr   add_middlewareadd_exception_handler	Exceptioninclude_router r   r   <module>r0      s!   * * * * * *       D D D D D D D D H H H H H H               
 : 9 9 9 9 9 $ $ $ $ $ $ ! ! ! ! ! !        ( ' ' ' ' '	F		z||      g

$.WW$&0hhD#/9T     & ' ' '   -)? @ @ @   02H I I I   02V W W W   )%@ A A A   6     r   