
    pT:i](                    N   S SK Jr  S SKJrJrJrJrJrJr  S SK	J
r
Jr  S SKrS SKJr  S SKJrJr  S SKJr  S SKJrJrJrJrJr  \\/\\   4   r\\\/\\   4   r\\\\\
4   -  S4   r\\\-  \-  \\\
4   -     r \" S	5      r! " S
 S\5      r" " S S5      r# " S S\5      r$g)    )annotations)AsyncGeneratorAsyncIterable	AwaitableCallableMappingMutableMapping)AnyTypeVarN)collapse_excgroups)ClientDisconnectRequest)Response)ASGIAppMessageReceiveScopeSendTc                  :   ^  \ rS rSrSrSU 4S jjrSS jrSrU =r$ )_CachedRequest   a  
If the user calls Request.body() from their dispatch function
we cache the entire request body in memory and pass that to downstream middlewares,
but if they call Request.stream() then all we do is send an
empty body so that downstream things don't hang forever.
c                j   > [         TU ]  X5        SU l        SU l        U R	                  5       U l        g )NF)super__init___wrapped_rcv_disconnected_wrapped_rcv_consumedstream_wrapped_rc_stream)selfscopereceive	__class__s      ]/var/www/html/aadhar_voter_ocr/venv/lib/python3.13/site-packages/starlette/middleware/base.pyr   _CachedRequest.__init__   s.    ().&%*""&++-    c                f  #    U R                   (       a  SS0$ U R                  (       aW  U R                  (       a  SU l         SS0$ U R                  5       I S h  vN nUS   S:w  a  [	        SUS    35      eSU l         U$ [        U SS 5      b  SU l        SU R                  SS.$ U R                  (       a  SU l        SS	SS.$  U R                  5       nUR                  5       I S h  vN nU R                  U l        SUU R                  (       + S.$  N N,! [         a    SU l         SS0s $ f = f7f)
Ntypehttp.disconnectTzUnexpected message received: _bodyzhttp.requestFr(   body	more_bodyr&   )r   r   _is_disconnectedr"   RuntimeErrorgetattrr*   _stream_consumedr   	__anext__r   )r    msgr   chunks       r$   wrapped_receive_CachedRequest.wrapped_receive"   s[    )) -..%% $$ 26. 122 &C6{// #%B3v;-#PQQ-1D*J 4$'3)-D&&

" 
 "" *.D&&" 3$..00-1-B-B**!%)%:%:!: C '> 1 $ 315. 1223sI   AD1DA*D1#D 'D()D D1D D.+D1-D..D1)r   r   r   )r!   r   r"   r   returnr   )	__name__
__module____qualname____firstlineno____doc__r   r5   __static_attributes____classcell__)r#   s   @r$   r   r      s    0;3 ;3r&   r   c                  6    \ rS rSrSSS jjrS	S jrS
S jrSrg)BaseHTTPMiddleware`   Nc                H    Xl         Uc  U R                  U l        g UU l        g N)appdispatchdispatch_func)r    rE   rF   s      r$   r   BaseHTTPMiddleware.__init__a   s    .6.>T]]Hr&   c           
     *  ^ ^^^	^
^^^^#    TS   S:w  a  T R                  TX#5      I S h  vN   g [        TU5      nUR                  m[        R                  " 5       mS mSm	SUU	U
UUU UUU4	S jjn[        R
                  " 5       nUu  mm
T
   T   [        5          [        R                  " 5        IS h  vN mT R                  XE5      I S h  vN nU" TTU5      I S h  vN   TR                  5         T
R                  5         S S S 5      IS h  vN   S S S 5        S S S 5        S S S 5        Tb
  T	(       d  Teg g  GN N Nq Na N3! , IS h  vN  (       d  f       NH= f! , (       d  f       NQ= f! , (       d  f       NZ= f! , (       d  f       Nc= f7f)Nr(   httpFc                  >	^^#    SUU4S jjmSU4S jjmSUUUUUU4S jjnTR                  U5         T
R                  5       I S h  vN nUR                  SS 5      nUS   S:X  a  Ub  T
R                  5       I S h  vN nUS   S	:X  d   eSU
4S
 jjn[        US   U" 5       US9nUS   Ul	        U$  Nl N8! [        R                   a1    Tb"  Sm	TTR
                  =(       d    TR                  e[        S5      ef = f7f)Nc                 z  >^#    TR                  5       (       a  SS0$ [        R                  " 5        IS h  vN mSU4S jjn TR                  U TR                  5        U " T5      I S h  vN nS S S 5      IS h  vN   TR                  5       (       a  SS0$ W$  Nc N1 N#! , IS h  vN  (       d  f       N8= f7f)Nr(   r)   c                f   >#    U " 5       I S h  vN nTR                   R                  5         U$  N 7frD   )cancel_scopecancel)funcresult
task_groups     r$   wrap[BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect.<locals>.wrapw   s+     '+v"//668% ".s   1/!1)rP   zCallable[[], Awaitable[T]]r8   r   )is_setanyiocreate_task_group
start_soonwait)rS   messagerR   response_sentr5   s     @r$   receive_or_disconnectMBaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnectq   s      ''))"$566 2244
&
 ))$0B0BC$($99G 54 !''))"$566 5 : 5444sV   3B;BB;0B!+B,B!0B;;B< B;B!B;!B8'B*(B84B;c                z   >#     TR                  U 5      I S h  vN   g  N! [        R                   a     g f = f7frD   )sendrV   BrokenResourceError)rZ   send_streams    r$   send_no_errorEBaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error   s6     %**733300 s(   ;! ! ;! 8;8;c                    >#    T    TR                  TTT5      I S h  vN   S S S 5        g  N! [         a  n U m S n A NS n A ff = f! , (       d  f       g = f7frD   )rE   	Exception)excapp_excr\   r!   r    rb   ra   s    r$   coro<BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.coro   sM      !&"hhu.C]SSS ![S$ &"%& ![sD   AA.,.	A.
A?AAA
AAinfor(   http.response.debugTzNo response returned.http.response.startc                   >#    T  S h  vN n U S   S:X  a  U 7v     g U S   S:X  d
   SU  35       eU R                  SS5      nU(       a  U7v   U R                  SS5      (       a  Mc    g  N`
 g 7f)	Nr(   zhttp.response.pathsendhttp.response.bodyzUnexpected message: r,   r&   r-   F)get)rZ   r,   recv_streams     r$   body_streamCBaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.body_stream   sz     %0 	'v*BB%"6?.BBdFZ[bZcDddB";;vs3D"
";;{E::	[s,   A/A-A+A-AA/)A/+A--A/status)status_codecontentrj   headersr7   )rZ   r   r8   None)r8   rw   )r8   BodyStreamGenerator)
rX   r"   ro   rV   EndOfStream	__cause____context__r/   _StreamingResponseraw_headers)requestrh   rZ   rj   rq   responser\   rb   rg   exception_already_raisedrp   r[   r!   r    ra   rR   r5   s         @@r$   	call_next.BaseHTTPMiddleware.__call__.<locals>.call_nextp   s     && & !!$'< + 3 3 55{{6406?&;;@P$/$7$7$99G" 6?&;;;;
 *gh6GQ\Q^eijH#*9#5H OI 6 :$$ <&/3, "w'8'8'OG<O<OO"#:;;<sA   0DB: 	B6
5B: ?B8 B: 2D6B: 8B: :AC??D)r~   r   r8   r   )rE   r   r5   rV   Eventcreate_memory_object_streamr   rW   rG   setclose)r    r!   r"   r_   r~   r   streamsr   rg   r   rp   r[   ra   rR   r5   s   ``      @@@@@@@r$   __call__BaseHTTPMiddleware.__call__e   s5    =F"((5'000 0!11$(#( K	 K	Z ?D>_>_>a#* [+'9';..00J!%!3!3G!GGuot<<<!!#!!#	 10 (<+[ '?M (@} 1r 1G< 1000 (<';++[[s   FD;A"FFE1E 5D>6E 9E	E E	 E!$E	E E
E E1F%F>E  E	E	E EEEE  
E.*E11
E?	;F
FFc                   #    [        5       e7frD   )NotImplementedError)r    r~   r   s      r$   rF   BaseHTTPMiddleware.dispatch   s     !##s   )rE   rG   rD   )rE   r   rF   zDispatchFunction | Noner8   rw   r!   r   r"   r   r_   r   r8   rw   )r~   r   r   RequestResponseEndpointr8   r   )r9   r:   r;   r<   r   r   rF   r>    r&   r$   rA   rA   `   s    MaF$r&   rA   c                  J    \ rS rSr    S           SS jjrSS jrSrg)	r|      Nc                d    XPl         Xl        X l        X@l        U R	                  U5        S U l        g rD   )rj   body_iteratorrt   
media_typeinit_headers
background)r    ru   rt   rv   r   rj   s         r$   r   _StreamingResponse.__init__   s/     	$&$'"r&   c                   #    U R                   b  U" SU R                   S.5      I S h  vN   U" SU R                  U R                  S.5      I S h  vN   SnU R                    S h  vN n[	        U[
        5      (       a  SnU" U5      I S h  vN   M2  U" SUSS.5      I S h  vN   MH   N N\ NG N" N
 U(       a  U" SS	SS.5      I S h  vN    U R                  (       a  U R                  5       I S h  vN    g g 7f)
Nrk   )r(   rj   rl   )r(   rs   rv   TFrn   r+   r&   )rj   rt   r}   r   
isinstancedictr   )r    r!   r"   r_   should_close_bodyr4   s         r$   r   _StreamingResponse.__call__   s     99  5tyyIJJJ-**++
 	
 	
 !-- 	Y%%&&$)!5k!! 4eRVWXXX! K	
	Y "X .  4cPUVWWW??//### s   &C>B+'C>B-C>#B5'B/(B5+#C>B1C>$B3%C>-C>/B51C>3C>5C>C)C>6C97C>)r   r   rj   r   rt   )   NNN)ru   AsyncContentStreamrt   intrv   zMapping[str, str] | Noner   z
str | Nonerj   zMapping[str, Any] | Noner8   rw   r   )r9   r:   r;   r<   r   r   r>   r   r&   r$   r|   r|      sT     ,0!%)-#  *	
  ' 
$r&   r|   )%
__future__r   collections.abcr   r   r   r   r   r	   typingr
   r   rV   starlette._utilsr   starlette.requestsr   r   starlette.responsesr   starlette.typesr   r   r   r   r   r   DispatchFunctionbytesstrrx   
memoryviewr   r   r   rA   r|   r   r&   r$   <module>r      s    " g g   / 8 ( B B"G9i.A#AB W&=>	(@SST $U^CH-E%Et%KL "3;#;nSRUX>V#VW CLI3W I3Xi$ i$X($ ($r&   