
    i                        S SK Jr  S SKrS SKrS SKrS SKrS SKJr  S SKJ	r	J
r
  S SKrS SKJrJr  S SKJrJrJr  \R&                  " S\5        SS jr " S	 S
5      r " S S5      rg)    )annotationsN)MutableMapping)AnyCallable)ObjectReceiveStreamObjectSendStream)ReceiveScopeSendzstarlette.middleware.wsgi is deprecated and will be removed in a future release. Please refer to https://github.com/abersheeran/a2wsgi as a replacement.c                L   U R                  SS5      R                  S5      R                  S5      nU S   R                  S5      R                  S5      nUR                  U5      (       a  U[	        U5      S nU S   UUU S   R                  S	5      S
U S    3SU R                  SS5      [
        R                  " U5      [        R                  SSSS.nU R                  S5      =(       d    SnUS   US'   US   US'   U R                  S5      (       a  U S   S   US'   U R                  S/ 5       Ho  u  pgUR                  S5      nUS:X  a  SnO,US:X  a  SnO#SU 3R                  5       R                  S S!5      nUR                  S5      nX;   a
  XH   S"-   U-   nXtU'   Mq     U$ )#z=
Builds a scope and request body into a WSGI environ object.
	root_path utf8latin1pathNmethodquery_stringasciizHTTP/http_version)   r   schemehttpTF)REQUEST_METHODSCRIPT_NAME	PATH_INFOQUERY_STRINGSERVER_PROTOCOLzwsgi.versionzwsgi.url_schemez
wsgi.inputzwsgi.errorszwsgi.multithreadzwsgi.multiprocesszwsgi.run_onceserver)	localhostP   r   SERVER_NAMEr   SERVER_PORTclientREMOTE_ADDRheaderszcontent-lengthCONTENT_LENGTHzcontent-typeCONTENT_TYPEHTTP_-_,)getencodedecode
startswithlenioBytesIOsysstdoutupperreplace)	scopebodyscript_name	path_infoenvironr   namevaluecorrected_names	            a/var/www/html/qgis-automation/mouza_env/lib/python3.13/site-packages/starlette/middleware/wsgi.pybuild_environr@      s   
 ))K,33F;BB8LKf$$V,33H=IK((c+.01	  /"n-44W="5#8"9: 99Xv6jj&zz !G  YYx 5$5F#AYGM#AYGM yy!&x!3 yyB/{{8$##-N^#+N$TF^113;;CEN X&$+c1E9E"' 0 N    c                  (    \ rS rSrSS jrSS jrSrg)WSGIMiddlewareJ   c                    Xl         g Napp)selfrH   s     r?   __init__WSGIMiddleware.__init__K   s    rA   c                r   #    US   S:X  d   e[        U R                  U5      nU" X#5      I S h  vN   g  N7f)Ntyper   )WSGIResponderrH   )rI   r7   receivesend	responders        r?   __call__WSGIMiddleware.__call__N   s5     V}&&&!$((E2	&&&s   -757rG   N)rH   Callable[..., Any]returnNone)r7   r
   rO   r	   rP   r   rU   rV   )__name__
__module____qualname____firstlineno__rJ   rR   __static_attributes__ rA   r?   rC   rC   J   s    'rA   rC   c                  |    \ rS rSr% S\S'   S\S'   SS jrSS jrSS jr S       SS
 jjr      SS jr	Sr
g	)rN   T   z*ObjectSendStream[MutableMapping[str, Any]]stream_sendz-ObjectReceiveStream[MutableMapping[str, Any]]stream_receivec                    Xl         X l        S U l        S U l        [        R
                  " [        R                  5      u  U l        U l	        SU l
        S U l        g )NF)rH   r7   statusresponse_headersanyiocreate_memory_object_streammathinfr_   r`   response_startedexc_info)rI   rH   r7   s      r?   rJ   WSGIResponder.__init__X   sL    
 $050Q0QRVRZRZ0[-$- %!rA   c                .  #    SnSnU(       a>  U" 5       I S h  vN nX5R                  SS5      -  nUR                  SS5      nU(       a  M>  [        U R                  U5      n[        R                  " 5        IS h  vN nUR                  U R                  U5        U R                   IS h  vN   [        R                  R                  U R                  X`R                  5      I S h  vN   S S S 5      IS h  vN   S S S 5      IS h  vN   U R                  b9  U R                  S   R                  U R                  S   U R                  S   5      eg  GN< N N Nr Nd! , IS h  vN  (       d  f       Ny= f Np! , IS h  vN  (       d  f       N= f7f)	NrA   Tr8   	more_bodyFr   r      )r,   r@   r7   rd   create_task_group
start_soonsenderr_   	to_threadrun_syncwsgistart_responseri   with_traceback)rI   rO   rP   r8   rl   messager;   
task_groups           r?   rR   WSGIResponder.__call__a   s)    	#IoGKK,,DK7I i  

D1**,,
!!$++t4'''oo..tyy'CVCVWWW (' -, ==$--"11$--2BDMMRSDTUU % &
 -'W (''' -,,,s   FE1F/F;E<F?-E;,E-E;08E(E)E-E;8E9E;=FE9	AFFE;EE;E6	%E(&E6	2E;9F;FFFFc                   #    U R                    IS h  vN   U R                     S h  vN nU" U5      I S h  vN   M   N+ N N

 S S S 5      IS h  vN    g ! , IS h  vN  (       d  f       g = f7frF   )r`   )rI   rP   rv   s      r?   rp   WSGIResponder.senderq   sT     &&&!%!4!4 $g7m## '$# "5 '&&&&&sr   A2?A2AAAAAAAA2AAAA2AA2A/A!A/+A2Nc                   X0l         U R                  (       d  SU l        UR                  SS5      u  pE[        U5      nU VVs/ s HQ  u  pxUR	                  5       R                  S5      R                  5       UR	                  5       R                  S5      4PMS     n	nn[        R                  R                  U R                  R                  SUU	S.5        g g s  snnf )NT r   r   zhttp.response.start)rM   rb   r%   )ri   rh   splitintstripr-   lowerrd   from_threadrunr_   rP   )
rI   rb   rc   ri   status_code_stringr*   status_coder<   r=   r%   s
             r?   rt   WSGIResponder.start_responsev   s     !$$$(D!$*LLa$8!01K $4#3KD $$W-335u{{}7K7KG7TU#3   !!  %%1)& %s   ACc                   U R                  X5       H;  n[        R                  R                  U R                  R
                  SUSS.5        M=     [        R                  R                  U R                  R
                  SSS.5        g )Nzhttp.response.bodyT)rM   r8   rl   rA   )rM   r8   )rH   rd   r   r   r_   rP   )rI   r;   rt   chunks       r?   rs   WSGIResponder.wsgi   so    
 XXg6E!!  %%-u4P 7 	d..33>R\_5`arA   )rH   ri   rc   rh   r7   rb   r`   r_   )rH   rT   r7   r
   rU   rV   )rO   r	   rP   r   rU   rV   )rP   r   rU   rV   rF   )rb   strrc   zlist[tuple[str, str]]ri   r   rU   rV   )r;   dict[str, Any]rt   rT   rU   rV   )rW   rX   rY   rZ   __annotations__rJ   rR   rp   rt   rs   r[   r\   rA   r?   rN   rN   T   ss    ;;AA"V $ 	 0 	
 
0bb +b 
	brA   rN   )r7   r
   r8   bytesrU   r   )
__future__r   r1   rf   r3   warningscollections.abcr   typingr   r   rd   	anyio.abcr   r   starlette.typesr	   r
   r   warnDeprecationWarningr@   rC   rN   r\   rA   r?   <module>r      sY    " 	  
  *    ; 0 0 N1h' 'Eb EbrA   