
    h                     v    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  S SKJr   " S	 S
\5      rg)    N)import_module)settings)UpdateError)SessionInterrupted)patch_vary_headers)MiddlewareMixin)	http_datec                   4   ^  \ rS rSrU 4S jrS rS rSrU =r$ )SessionMiddleware   c                 x   > [         TU ]  U5        [        [        R                  5      nUR
                  U l        g N)super__init__r   r   SESSION_ENGINESessionStore)selfget_responseengine	__class__s      T/var/www/html/env/lib/python3.13/site-packages/django/contrib/sessions/middleware.pyr   SessionMiddleware.__init__   s.    &x667"//    c                     UR                   R                  [        R                  5      nU R	                  U5      Ul        g r   )COOKIESgetr   SESSION_COOKIE_NAMEr   session)r   requestsession_keys      r   process_request!SessionMiddleware.process_request   s.    oo))(*F*FG++K8r   c                     UR                   R                  nUR                   R                  nUR                   R                  5       n[
        R                  UR                  ;   a_  U(       aX  UR                  [
        R                  [
        R                  [
        R                  [
        R                  S9  [        US5        U$ U(       a  [        US5        U(       d  [
        R                  (       Ga%  U(       Gd  UR                   R                  5       (       a  SnSnO=UR                   R                  5       n[         R                   " 5       U-   n[#        U5      nUR$                  S:  a   UR                   R'                  5         UR-                  [
        R                  UR                   R.                  UU[
        R                  [
        R                  [
        R0                  =(       d    S[
        R2                  =(       d    S[
        R                  S9	  U$ ! [         a    Us $ f = f! [(         a    [+        S5      ef = f)z
If request.session was modified, or if the configuration is to save the
session every time, save the changes and set a session cookie or delete
the session cookie if the session has been emptied.
)pathdomainsamesite)CookieNi  zThe request's session was deleted before the request completed. The user may have logged out in a concurrent request, for example.)max_ageexpiresr%   r$   securehttponlyr&   )r   accessedmodifiedis_emptyAttributeErrorr   r   r   delete_cookieSESSION_COOKIE_PATHSESSION_COOKIE_DOMAINSESSION_COOKIE_SAMESITEr   SESSION_SAVE_EVERY_REQUESTget_expire_at_browser_closeget_expiry_agetimer	   status_codesaver   r   
set_cookier    SESSION_COOKIE_SECURESESSION_COOKIE_HTTPONLY)	r   r   responser,   r-   emptyr(   r)   expires_times	            r   process_response"SessionMiddleware.process_response   s   	//H//HOO,,.E
 ''7??:u"",,1155!99	 #  x5D A "8[9H?????>>@@"G"G%oo<<>G#'99;#8L'5G ''#-,,. '' 4433 ' ''==%99'==E!)!A!A!IT!)!A!A ( 
 [  	O	8 ' 0H s   AH /H. H+*H+.I)r   )	__name__
__module____qualname____firstlineno__r   r!   r@   __static_attributes____classcell__)r   s   @r   r   r      s    0
97 7r   r   )r7   	importlibr   django.confr   %django.contrib.sessions.backends.baser   "django.contrib.sessions.exceptionsr   django.utils.cacher   django.utils.deprecationr   django.utils.httpr	   r    r   r   <module>rP      s+     #   = A 1 4 'A Ar   