+
    5)iO                         ^ RI t ^ RIt^ RIHt ^ RIHtHtHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHtHtHtHtHt ^RIHt R
R	 lt]! 4       tR# )    N)datetime)Flaskgrequest)CORS)setup_error_handling)CacheService)
get_loggerlog_exceptionlog_request_infolog_response_infosetup_logger)configc                   a \        \        4      pR VP                  n        T ;'       g!    \        P
                  P                  RR4      p VP                  P                  \        V ,          4       RVP                  P                  RR.4      RVP                  P                  R. R O4      RVP                  P                  R	R
R.4      RVP                  P                  RR 4      RVP                  P                  RR4      RR/p\        VP                  4       \        V3/ VB  \        P                  ! V4        ^ RIHp \        R4      oSP!                  R4       \%        V4       \        R4      o\'        V4       \        P
                  P)                  RVP                  P                  RR4      4       VP*                  R 4       pVP,                  V3R l4       p^ RIHp VP3                  V4        ^ RIHp VP3                  V4       SP!                  R4       SP!                  RV  24       V#   \"         d     Li ; i  \"         d    SP9                  R4        LEi ; i)!F	FLASK_ENVdefaultoriginsCORS_ORIGINS*methodsCORS_METHODSallow_headersCORS_ALLOW_HEADERSzContent-TypeAuthorizationsupports_credentialsCORS_SUPPORTS_CREDENTIALSmax_ageCORS_MAX_AGEiX  automatic_optionsT)CompressappzResponse compression enabledPYPANDOC_PANDOCPANDOC_LOCATIONz/usr/bin/pandocc                 B   \         P                  '       d   M8\         P                  P                  RR4      R8X  d   R\         P                  R&   \        \        P                  ! 4       4      \        n	        \        P                  ! 4       \        n        \        4        R# )zTThis helps Flask correctly interpret HTTPS requests from Cloudflare proxied traffic.zX-Forwarded-Proto httpszwsgi.url_schemeN)r   	is_secureheadersgetenvironstruuiduuid4r   
request_idr   now
start_timer        9D:\Projects\python\client-ideal-oms_pyapi\app\__init__.pybefore_request"create_app.<locals>.before_requestE   sg      ""#6;wF5< 12 4::<(||~ 	r2   c                 @  < \        V 4       V P                  P                  R R4       \        \        R4      '       d`   \
        P                  ! 4       \        P                  ,
          P                  4       pSP                  R\        P                   RVR R24       V # )zContent-EncodingNr0   zRequest z completed in z.4fz seconds)r   r(   pophasattrr   r   r/   r0   total_secondsinfor.   )responsedurationloggers   & r3   after_request!create_app.<locals>.after_requestV   sv     	(#/6 1l## 5DDFHKK(1<<.xnHUVr2   )api_bp)
example_bpz$Example validation routes registeredz6Example controller not found - skipping example routesz+Flask API application created with config: )GETPOSTPUTDELETEOPTIONS)r   __name__json	sort_keysosr*   r)   r   from_objectprintr   r	   init_appflask_compressr    r
   r:   ImportErrorr   r   
setdefaultr4   r>   app.routes.apir@   register_blueprint"app.controllers.example_controllerrA   warning)	config_namer!   cors_configr    r4   r>   r@   rA   r=   s	   &       @r3   
create_apprW      s   
/CCHH GGY!GKJJ6+./ 	3::>>.3%83::>>G
 	 >?"C
 	

/JE R3::>>.#6TK 
#** #+ E"23
 F  JJ+SZZ^^<MO`-ab 	   	
 
 &6"QAz*:; KK=k]KLJy  n  QOPQs$   ?"H9 ;(I
 9II
I)(I))N)rJ   r,   r   flaskr   r   r   
flask_corsr   app.middleware.error_handlerr   app.services.cache_servicer	   app.utils.helpersr
   r   r   r   r   config.settingsr   rW   r!   r1   r2   r3   <module>r^      s<    	   # #  = 3  $_D lr2   