
    Evg                     ~    d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ  G d	 d
e          ZdS )    N)import_module)settings)UpdateError)SessionInterrupted)patch_vary_headers)MiddlewareMixin)	http_datec                   *     e Zd Z fdZd Zd Z xZS )SessionMiddlewarec                     t                                          |           t          t          j                  }|j        | _        d S N)super__init__r   r   SESSION_ENGINESessionStore)selfget_responseengine	__class__s      _/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/django/contrib/sessions/middleware.pyr   zSessionMiddleware.__init__   s<    &&&x677"/    c                     |j                             t          j                  }|                     |          |_        d S r   )COOKIESgetr   SESSION_COOKIE_NAMEr   session)r   requestsession_keys      r   process_requestz!SessionMiddleware.process_request   s3    o))(*FGG++K88r   c                    	 |j         j        }|j         j        }|j                                         }n# t          $ r |cY S w xY wt
          j        |j        v rU|rS|                    t
          j        t
          j	        t
          j
        t
          j                   t          |d           n+|rt          |d           |st
          j        r
|s|j                                         rd}d}n>|j                                         }t!          j                    |z   }t#          |          }|j        dk     r	 |j                                          n# t(          $ r t+          d          w xY w|                    t
          j        |j         j        ||t
          j
        t
          j	        t
          j        pdt
          j        pdt
          j        	  	         |S )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_responsez"SessionMiddleware.process_response   s   	/H/HO,,..EE 	 	 	OOO	 '7?::u:"",15!9	 #    x5555 :"8[999 H?  ?>>@@ 6"G"GG%o<<>>G#'9;;#8L'55G '#--,,....&   0H   '' 43 ' ''=%9'=E!)!A!IT!)!A ( 
 
 
 s   14 AA:E E.)__name__
__module____qualname__r   r   r=   __classcell__)r   s   @r   r   r      sV        0 0 0 0 0
9 9 97 7 7 7 7 7 7r   r   )r4   	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>rJ      s     # # # # # #             = = = = = = A A A A A A 1 1 1 1 1 1 4 4 4 4 4 4 ' ' ' ' ' 'A A A A A A A A A Ar   