
    	h                        d dl mZ d dlZd dlmZmZ d dlmZ d dlZd dl	m
Z
 d dlmZmZ d dlmZ d dlmZmZmZmZmZ  G d	 d
          ZdS )    )annotationsN)	b64decode	b64encode)Literal)BadSignature)MutableHeadersSecret)HTTPConnection)ASGIAppMessageReceiveScopeSendc                  ,    e Zd Z	 	 	 	 	 	 d d!dZd"dZdS )#SessionMiddlewaresession u /laxFNappr   
secret_keystr | Secretsession_cookiestrmax_age
int | Nonepath	same_site Literal['lax', 'strict', 'none']
https_onlybooldomain
str | NonereturnNonec	                    || _         t          j        t          |                    | _        || _        || _        || _        d|z   | _        |r| xj        dz  c_        || xj        d| z  c_        d S d S )Nzhttponly; samesite=z; securez	; domain=)	r   itsdangerousTimestampSignerr   signerr   r   r   security_flags)	selfr   r   r   r   r   r   r    r"   s	            j/var/www/html/web-builder-api.evdpl.com/venv/lib/python3.11/site-packages/starlette/middleware/sessions.py__init__zSessionMiddleware.__init__   s     "23z??CC,	3i? 	.:-#7v#7#77     scoper   receiver   sendr   c                   K   d         dvr                      |           d {V  d S t                    }d j        |j        v r|j         j                                     d          }	  j                            | j                  }t          j	        t          |                    d<   dn# t          $ r i d<   Y n	w xY wi d<   d fd}                      ||           d {V  d S )Ntype)http	websocketTutf-8)r   r   Fmessager   r$   r%   c                  K   | d         dk    r"d         rt          t          j        d                                       d                    }j                            |          }t          |           }d                    j        |	                    d          j
        j        rdj         dnd	j        
          }|                    d|           nQsOt          |           }d                    j        dj
        dj                  }|                    d|            |            d {V  d S )Nr3   zhttp.response.startr   r6   )r/   z?{session_cookie}={data}; path={path}; {max_age}{security_flags}zMax-Age=z;  )r   datar   r   r*   z
Set-Cookiez?{session_cookie}={data}; path={path}; {expires}{security_flags}nullz'expires=Thu, 01 Jan 1970 00:00:00 GMT; )r   r:   r   expiresr*   )r   jsondumpsencoder)   signr   formatr   decoder   r   r*   append)r7   r:   headersheader_valueinitial_session_was_emptyr/   r+   r1   s       r,   send_wrapperz0SessionMiddleware.__call__.<locals>.send_wrapper9   sk     v"777# ?$TZi0@%A%A%H%H%Q%QRRD;++D11D,7;;;G#d#k#k'+':![[11!Y?C| S ;4< ; ; ; ;QS'+': $l $ $L NN<>>>>2 
?,7;;;G#d#k#k'+':#!Y I'+': $l $ $L NN<>>>$w--r.   )r7   r   r$   r%   )r   r
   r   cookiesr?   r)   unsignr   r=   loadsr   r   )r+   r/   r0   r1   
connectionr:   rG   rF   s   `` `   @r,   __call__zSessionMiddleware.__call__&   sa     = 555((5'4000000000F#E**
$(!*"444%d&9:AA'JJD&{))$)EE#':ioo#>#>i ,1)) & & &#%i   &  "E)	  	  	  	  	  	  	  	  	 8 hhug|44444444444s   5AB= =CC)r   r   r   r   FN)r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   )r/   r   r0   r   r1   r   r$   r%   )__name__
__module____qualname__r-   rL    r.   r,   r   r      sU        
 (/6; !8 8 8 8 8,/5 /5 /5 /5 /5 /5r.   r   )
__future__r   r=   base64r   r   typingr   r'   itsdangerous.excr   starlette.datastructuresr   r	   starlette.requestsr
   starlette.typesr   r   r   r   r   r   rP   r.   r,   <module>rX      s    " " " " " "  ' ' ' ' ' ' ' '           ) ) ) ) ) ) ; ; ; ; ; ; ; ; - - - - - - B B B B B B B B B B B B B BF5 F5 F5 F5 F5 F5 F5 F5 F5 F5r.   