+
    j&                         ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RI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HtHtHtHtHtHtHtHtHt ^ RIHtHt ^ RIH t  ^ R	I!H"t"  ! R
 R4      t#R# )    N)datetime)randint)SSLError)util)ForbiddenProxyRequestInvalidHeaderInvalidHeaderNameInvalidHTTPVersionInvalidProxyLineInvalidRequestLineInvalidRequestMethodInvalidSchemeHeadersLimitRequestHeadersLimitRequestLineUnsupportedTransferCodingExpectationFailedConfigurationProblemObsoleteFolding)Responsedefault_environ)reloader_engines)	WorkerTmpc                      a ] tR t^t oRP	                  4        U u. uF  p \        \        RV ,          4      NK  	  up t. tR t	R t
R tR tR tR tR	 tR
 tR tR tR tR tR tRtVtR# u up i )Workerz+ABRT HUP QUIT INT TERM USR1 USR2 WINCH CHLDzSIG%sc                x   Wn         RV n        W n        W0n        W@n        WPn        W`n        RV n        RV n        RV n	        ^ V n
        VP                  ^ 8  d0   \        ^ VP                  4      pVP                  V,           V n        M\        P                  V n        RV n        Wpn        \%        V4      V n        R# )zThis is called pre-fork so it shouldn't do anything to the
current process. If there's a need to make process wide
changes you'll want to do that in ``self.init_process()``.
z	[booting]FNT)agepidppidsocketsapptimeoutcfgbootedabortedreloadernrmax_requestsr   max_requests_jittersysmaxsizealivelogr   tmp)	selfr   r   r   r    r!   r"   r,   jitters	   &&&&&&&& J/var/www/idalgo/venv/lib/python3.14/site-packages/gunicorn/workers/base.py__init__Worker.__init__&   s     	aQ 7 78F # 0 06 9D #D
S>    c                (    R V P                   ,          # )z<Worker %s>)r   r.   s   &r0   __str__Worker.__str__C   s    txx''r3   c                :    V P                   P                  4        R# )zYour worker subclass must arrange to have this method called
once every ``self.timeout`` seconds. If you fail in accomplishing
this task, the master process will murder your workers.
N)r-   notifyr5   s   &r0   r9   Worker.notifyF   s     	r3   c                    \        4       h)zThis is the mainloop of a worker process. You should override
this method in a subclass to provide the intended behaviour
for your particular evil schemes.
)NotImplementedErrorr5   s   &r0   run
Worker.runN   s     "##r3   c                z  a  S P                   P                  '       dA   S P                   P                  P                  4        F  w  rV\        P                  V&   K  	  \
        P                  ! S P                   P                  S P                   P                  S P                   P                  R7       \
        P                  ! 4        \        P                  ! 4       S n        S P                   F/  p\
        P                  ! V4       \
        P                  ! V4       K1  	  S P                   F  p\
        P                  ! V4       K  	  \
        P                  ! S P                   P#                  4       4       S P                  S P                  ^ ,          .,           S n        S P&                  P                  4        S P)                  4        S P                   P*                  '       df   V 3R lpS P&                  P-                  R4       \.        S P                   P0                  ,          pV! S P                   P2                  VR7      S n        S P7                  4        S P4                  '       d   S P4                  P9                  4        S P                   P;                  S 4       RS n        S P?                  4        R# )zIf you override this method in a subclass, the last statement
in the function should be to call this method with
super().init_process() so that the ``run()`` loop is initiated.
)
initgroupsc                 ,  < SP                   P                  R V 4       RSn        \        P                  ! SP
                  ^,          R4       SP                  P                  S4       \        P                  ! R4       \        P                  ! ^ 4       R# )zWorker reloading: %s modifiedF   1皙?N)r,   infor+   oswritePIPEr"   
worker_inttimesleepr)   exit)fnamer.   s   &r0   changed$Worker.init_process.<locals>.changed{   s[    =uE"
1t,##D)

3r3   z(Reloader is on. Use in development only!)extra_filescallbackTN) r"   envitemsrE   environr   set_owner_processuidgidr@   seedpiperG   set_non_blockingclose_on_execr   r-   filenowait_fdsr,   init_signalsreloadwarningr   reload_enginereload_extra_filesr%   	load_wsgistartpost_worker_initr#   r=   )r.   kvpsrM   reloader_clss   f      r0   init_processWorker.init_processV   s    88<<<**, !

1 - 	txx||TXX\\*.((*=*=	? 			 GGI	A!!!$q! 
 Aq! 488??,-		!~5  88??? HHGH+DHH,B,BCL(TXX5P5P29;DM 	===MM!!!$' 
r3   c                h    V P                   P                  4       V n        R #   \         Ed   pT P                  P                  '       g   h T P
                  P                  T4       T P                  e4   TP                  e&   T P                  P                  TP                  4       \        P                  ! 4       ;_uu_ 4       p\        P                  ! YR7       \        P                  ! TP!                  4       4      T n        R R R 4        R p?R #   + '       g   i      R p?R # ; iR p?ii ; i)N)file)r    wsgiSyntaxErrorr"   r^   r,   	exceptionr%   filenameadd_extra_fileioStringIO	tracebackprint_exceptionr   make_fail_appgetvalue)r.   e	tb_strings   &  r0   rb   Worker.load_wsgi   s    	EDI 	E88???HHq!}}(QZZ-C,,QZZ8)))!< ..y/A/A/CD	 	Es4   # D1BD,ADD,D)D,)D,,D1c                   V P                    F(  p\        P                  ! V\        P                  4       K*  	  \        P                  ! \        P                  V P                  4       \        P                  ! \        P
                  V P                  4       \        P                  ! \        P                  V P                  4       \        P                  ! \        P                  V P                  4       \        P                  ! \        P                  V P                  4       \        P                  ! \        P                  V P                  4       \        P                  ! \        P
                  R 4       \        P                  ! \        P                  R 4       \        \        R4      '       d*   \        P                   ! V P"                  ^,          4       R# R# )Fset_wakeup_fdN)SIGNALSsignalSIG_DFLSIGQUIThandle_quitSIGTERMhandle_exitSIGINTSIGWINCHhandle_winchSIGUSR1handle_usr1SIGABRThandle_abortsiginterrupthasattrr}   rG   )r.   rh   s   & r0   r]   Worker.init_signals   s   AMM!V^^,  	fnnd&6&67fnnd&6&67fmmT%5%56foot'8'89fnnd&6&67fnnd&7&78 	FNNE2FNNE26?++  1. ,r3   c                :    V P                   P                  4        R # )N)r,   reopen_filesr.   sigframes   &&&r0   r   Worker.handle_usr1   s    r3   c                    R V n         R# FN)r+   r   s   &&&r0   r   Worker.handle_exit   s	    
r3   c                    R V n         V P                  P                  V 4       \        P                  ! R4       \
        P                  ! ^ 4       R# )FrC   N)r+   r"   rH   rI   rJ   r)   rK   r   s   &&&r0   r   Worker.handle_quit   s1    
D!

3r3   c                v    R V n         V P                  P                  V 4       \        P                  ! ^4       R# r   )r+   r"   worker_abortr)   rK   r   s   &&&r0   r   Worker.handle_abort   s&    
d#r3   c                	   \         P                  ! 4       pT;'       g    R p\        V\        \        \
        \        \        \        \        \        \        \        \        \        \        \         \"        34      '       Ed   RpRp\        V\        4      '       d   R\%        V4      ,          pEMC\        V\        4      '       d   R\%        V4      ,          pEM\        V\
        4      '       d   R\%        V4      ,          pEM\        V\        4      '       d   R\%        V4      ,          pRpEM\        V\        4      '       d   R\%        V4      ,          pRpEM\        V\        4      '       d   R\%        V4      ,          pEMm\        V\        \        34      '       d;   R\%        V4      ,          pV'       g   \'        VR	4      '       d   VP(                  pEM\        V\        4      '       d   R\%        V4      ,          pM\        V\         4      '       d   R
p\%        V4      pRpM\        V\        4      '       d   RpR\%        V4      ,          pRpM\        V\        4      '       d   R\%        V4      ,          pMr\        V\        4      '       d   RpRpRpMU\        V\        4      '       d   R\%        V4      ,          pM,\        V\"        4      '       d   RpR\%        V4      ,          pRpRp	V P*                  P-                  V	P/                  V^ ,          \%        V4      R7      4       M\'        VR4      '       dE   \'        VR4      '       d3   V P*                  P1                  RVP2                  VP4                  4       MT\'        VR4      '       d(   V P*                  P1                  RVP4                  4       MV P*                  P1                  R4       RpRpR pVe   \         P                  ! 4       V,
          p
\7        WV P8                  4      pV^ ,          VR&   \%        V^,          4      VR&   \;        WV P8                  4      pV: RV: 2Vn        \?        X4      Vn         V P*                  PC                  WW4        \D        PF                  ! W&VX4       R#   \H         d     T P*                  PK                  R4        R# i ; i)! i  zBad RequestzInvalid Request Line '%s'zInvalid Method '%s'zInvalid HTTP Version '%s'z%si  i  reqzExpectation Failedi  zRequest Header Fields Too LargezError parsing headers: '%s'i  z'%s'	ForbiddenzRequest forbiddeni  z%Invalid request from ip={ip}: {error})iperrorurimethodzError handling request %s %szError handling request %sz$Error handling request (no URI read)zInternal Server ErrorNREMOTE_ADDRREMOTE_PORT zFailed to send error message.)r   )&r   now
isinstancer   r   r
   r   r	   r   r   r   r   r   r   r   r   r   r   strr   r   r,   r_   formatrp   r   r   r   r"   r   statuslenresponse_lengthaccessr   write_error	Exceptiondebug)r.   r   clientaddrexcrequest_start
status_intreasonmesgmsgrequest_timerS   resps   &&&&&        r0   handle_errorWorker.handle_error   s    xc 4/@13 "; /3D
   J"F#1222SX=C!566,s3x7C!3442SX=C!:;;c#h 
C!566c#h 
C11c#hC"3]!DEEc#hwsE22''CC!122c#hC!233-3x 
C!455:4s3x? 
C!122C(C!677$* 
C!566c#hC**$C( 
9CHHSZZ47#c(ZCDsE""wsH'='=""#A3::swwWe$$""#>H""#IJJ,FD?#<<>M9L%c488<G%)!WGM"%(a\GM"C2D%/8DK#&t9D HHOODw=	<V> 	<HHNN:;	<s   R" "&SSc                <    V P                   P                  R 4       R# )zworker: SIGWINCH ignored.N)r,   r   )r.   r   rL   s   &&&r0   r   Worker.handle_winch  s    23r3   )rG   r$   r   r+   r    r#   r"   r,   r'   r&   r   r   r%   r   r!   r-   r\   rn   N)__name__
__module____qualname____firstlineno__splitgetattrr   r~   rG   r1   r6   r9   r=   rj   rb   r]   r   r   r   r   r   r   __static_attributes____classdictcell__)x__classdict__s   0@r0   r   r      s      	6;;== 12wvw{+=G D":($:xE /( 
S<j4 4{s    A.r   )$rs   rE   r   r)   rI   ru   r   randomr   sslr   gunicornr   gunicorn.http.errorsr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   gunicorn.http.wsgir   r   gunicorn.reloaderr   gunicorn.workers.workertmpr   r    r3   r0   <module>r      sP   
 
 	  
          9 . 0A4 A4r3   