+
    Pj#                    |   ^ RI Ht ^ RIt^ RIt^ RIHtHt ^ RIHt ^ RI	H
t
Ht ^ RIHtHt ^ RIHtHtHtHtHt ]P*                  ].]P,                  ],          3,          t]P*                  ]].]P,                  ],          3,          t]P2                  ! R4      t ! R	 R
]4      t ! R R4      t ! R R]4      tR# )    )annotationsN)ObjectReceiveStreamObjectSendStream)collapse_excgroups)ClientDisconnectRequest)AsyncContentStreamResponse)ASGIAppMessageReceiveScopeSendTc                  >   a  ] tR t^tRtR V 3R lltR R ltRtV ;t# )_CachedRequesta  
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                    V ^8  d   QhRRRR/# )   scoper   receiver    )formats   "r/Users/ahmed/devFolder/Ultron/claude-voice/gateway/.venv/lib/python3.14/site-packages/starlette/middleware/base.py__annotate___CachedRequest.__annotate__   s     0 0e 0g 0    c                	l   < \         SV `  W4       R V n        R V n        V P	                  4       V n        R# )FN)super__init___wrapped_rcv_disconnected_wrapped_rcv_consumedstream_wrapped_rc_stream)selfr   r   	__class__s   &&&r   r   _CachedRequest.__init__   s.    ().&%*""&++-r   c                   V ^8  d   QhRR/# r   returnr   r   )r   s   "r   r   r       s     ;3 ;3w ;3r   c                	  "   V P                   '       d   R R/# V P                  '       db   V P                  '       d   RV n         R R/# V P                  4       G Rj  xL
 pVR ,          R8w  d   \	        RVR ,           24      hRV n         V# \        V RR4      e   RV n        R RRV P                  RR	/# V P                  '       d   RV n        R RRR
RR	/#  V P                  4       pVP                  4       G Rj  xL
 pV P                  V n        R RRVRV P                  '       * /#  L L.  \         d    RT n         R R/u # i ; i5i)typehttp.disconnectTNzUnexpected message received: _bodyzhttp.requestbody	more_bodyFr   )r    r!   _is_disconnectedr   RuntimeErrorgetattrr-   _stream_consumedr"   	__anext__r   )r$   msgr"   chunks   &   r   wrapped_receive_CachedRequest.wrapped_receive    sy    ))) -..%%% $$$ 26. 122 &C6{// #%B3v;-#PQQ-1D*J 4$'3)-D&

U 
 """ *.D&U 3$..00-1-B-B*NET%:%:!: C '> 1 $ 315. 1223sX   (EEED&A)EE#D* 9D(:+D* %E(D* *E EEE)r#   r!   r    )	__name__
__module____qualname____firstlineno____doc__r   r7   __static_attributes____classcell__)r%   s   @r   r   r      s    0 0;3 ;3r   r   c                  >    ] tR t^^tR	R R lltR R ltR R ltRtR# )
BaseHTTPMiddlewareNc               $    V ^8  d   QhRRRRRR/# )r   appr   dispatchzDispatchFunction | Noner)   Noner   )r   s   "r   r   BaseHTTPMiddleware.__annotate___   s(     M MG M/F MRV Mr   c                	N    Wn         Vf   V P                  V n        R # TV n        R # N)rC   rD   dispatch_func)r$   rC   rD   s   &&&r   r   BaseHTTPMiddleware.__init___   s    .6.>T]]Hr   c               (    V ^8  d   QhRRRRRRRR/# 	r   r   r   r   r   sendr   r)   rE   r   )r   s   "r   r   rF   c   s.     Z$ Z$E Z$G Z$4 Z$D Z$r   c           
     	l  a aaaa	"   SR ,          R8w  d   S P                  SW#4      G Rj  xL
  R# \        SV4      pVP                  o	\        P                  ! 4       oR VVV VV	3R llp\        4       ;_uu_ 4        \        P                  ! 4       ;_uu_4       GRj  xL
 oS P                  WE4      G Rj  xL
 pV! SS	V4      G Rj  xL
  SP                  4        RRR4      GRj  xL
  RRR4       R#  L L[ LD L4 L  + GRj  xL 
 '       g   i     L-; i  + '       g   i     R# ; i5i)r+   httpNc                    V ^8  d   QhRRRR/# )r   requestr   r)   r
   r   )r   s   "r   r   1BaseHTTPMiddleware.__call__.<locals>.__annotate__l   s     K	 K	W K	 K	r   c                r  <aaa	a
a"   R o\         P                  ! 4       w  oo	R VV3R lloR V	V3R llpR V3R llo
R VVVVV
V3R llpSP                  V4       SP                  V4        S	P                  4       G R j  xL
 pVP	                  R	R 4      pVR
,          R8X  d   Ve   S	P                  4       G R j  xL
 pTR
,          R8X  g   Q hR TT	3R llp\        TR,          T! 4       TR7      pTR,          Tn        T#  L LJ  \         P
                   d    Se   Sh\        R4      hi ; i5i)Nc                   V ^8  d   QhRR/# r(   r   )r   s   "r   r   DBaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.__annotate__r   s       r   c                   <a"   SP                  4       '       d   R R/# \        P                  ! 4       ;_uu_4       GRj  xL
 oR V3R llp SP                  V SP                  4       V ! S4      G Rj  xL
 pRRR4      GRj  xL
  SP                  4       '       d   R R/# X#  Le L2 L$  + GRj  xL 
 '       g   i     L;; i5i)r+   r,   Nc                    V ^8  d   QhRRRR/# )r   funcz(typing.Callable[[], typing.Awaitable[T]]r)   r   r   )r   s   "r   r   cBaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect.<locals>.__annotate__x   s     & &)Q &VW &r   c                f   <"   V ! 4       G R j  xL
 pSP                   P                  4        V#  L 5irH   )cancel_scopecancel)rX   result
task_groups   & r   wrap[BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect.<locals>.wrapx   s+     '+v"//668% ".s   1/!1)is_setanyiocreate_task_group
start_soonwait)r_   messager^   response_sentr7   s     @r   receive_or_disconnectMBaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnectr   s      ''))"$566 22444
& &
 ))$0B0BC$($99G 54 !''))"$566 5 : 5444se   <C B&C1B,5B(6B,:CB*C C(B,*C,C	2B53
C	>C	 Cc                   V ^8  d   QhRR/# r   r)   rE   r   )r   s   "r   r   rU      s     $ $d $r   c                 d   <"   SP                  4       G R j  xL
  S P                  4        R #  L5irH   )re   close)recv_streamrg   s   r   "close_recv_stream_on_response_sentZBaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.close_recv_stream_on_response_sent   s)     #((***!!# +s   0.0c                    V ^8  d   QhRRRR/# )r   rf   r   r)   rE   r   )r   s   "r   r   rU      s      W  r   c                   <"    SP                  V 4      G R j  xL
  R #  L  \        P                   d     R # i ; i5irH   )rM   rb   BrokenResourceError)rf   send_streams   &r   send_no_errorEBaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error   s6     %**733300 s(   >"  " >" ;>;>c                   V ^8  d   QhRR/# rk   r   )r   s   "r   r   rU      s     & & &r   c                   <"   S;_uu_4       GR j  xL
   SP                  SSS4      G R j  xL
  R R R 4      GR j  xL
  R #  L2 L  \         d   p T o R p ? L(R p ? ii ; i L$  + GR j  xL 
 '       g   i     R # ; i5irH   )rC   	Exception)excapp_excrh   r   r$   ru   rt   s    r   coro<BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.coro   sW      ';;&"hhu.C]SSS ';;S$ &"%& ';;;sz   BABA%A	AA	BA#BA		A AA%A  A%#B%A?	+A.,
A?	7A?	9	Binfor+   http.response.debugzNo response returned.http.response.startc                   V ^8  d   QhRR/# )r   r)   z"typing.AsyncGenerator[bytes, None]r   )r   s   "r   r   rU      s     " "'I "r   c                V  <"   S;_uu_4       GR j  xL
  S  R j  xL
  p V R,          R8X  g   Q hV P                  RR4      pV'       d   V5x  V P                  RR4      '       d   KS   R R R 4      GR j  xL
  Se   ShR #  Lr LiDjL L  + GR j  xL 
 '       g   i     L); i5i)Nr+   http.response.bodyr.   r   r/   F)get)rf   r.   r{   rn   s     r   body_streamCBaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.body_stream   s     &;;)4 " "g&v2FFFF&{{637"&J&{{;>>! '; &!M ' '" ';;;sv   B)BB)BB	B
B	+BB,B-B)8B9B)B		BB)B&	B
B&	B&	!B)status)status_codecontentr~   headers)	rb   create_memory_object_streamrd   r   r   EndOfStreamr1   _StreamingResponseraw_headers)rQ   ro   r|   rf   r~   r   responser{   rh   rn   ru   rt   rg   r   r$   r^   r7   s   &      @@@@@r   	call_next.BaseHTTPMiddleware.__call__.<locals>.call_nextl   s0    (,G (-'H'H'J$K &$ $ & & !!"DE!!$'< + 3 3 55{{6406?&;;@P$/$7$7$99G 6?&;;;;" " *gh6GQ\Q^eijH#*9#5H O5 6 :$$ <&!M"#:;;<sC   A(D71D D	;D  DD AD7	D D 'D44D7)	rC   r   r7   rb   Eventr   rc   rI   set)
r$   r   r   rM   rQ   r   r   rg   r^   r7   s
   ff&&   @@@r   __call__BaseHTTPMiddleware.__call__c   s     =F"((5'000 0!11K	 K	Z  !!..000J!%!3!3G!GGuot<<<!!# 10 "!i 1j 1G< 1000 "!!s   $D4C:AD4>"D  C<!D $D	9C>:D	D D	 D +D,D 0D4<D >D	 D	D D
D
DDD  D1	+	D4c               $    V ^8  d   QhRRRRRR/# )r   rQ   r   r   RequestResponseEndpointr)   r
   r   )r   s   "r   r   rF      s#     $ $g $:Q $V^ $r   c                	   "   \        4       h5irH   )NotImplementedError)r$   rQ   r   s   &&&r   rD   BaseHTTPMiddleware.dispatch   s     !##s   )rC   rI   rH   )r9   r:   r;   r<   r   r   rD   r>   r   r   r   rA   rA   ^   s    MZ$x$ $r   rA   c                  2    ] tR t^tRR R lltR R ltRtR# )r   Nc               0    V ^8  d   QhRRRRRRRRR	R
RR/# )r   r   r	   r   intr   ztyping.Mapping[str, str] | None
media_typez
str | Noner~   z&typing.Mapping[str, typing.Any] | Noner)   rE   r   )r   s   "r   r   _StreamingResponse.__annotate__   sF      #  1	
  5 
r   c                	f    WPn         Wn        W n        W@n        V P	                  V4       R V n        R # rH   )r~   body_iteratorr   r   init_headers
background)r$   r   r   r   r   r~   s   &&&&&&r   r   _StreamingResponse.__init__   s/     	$&$'"r   c               (    V ^8  d   QhRRRRRRRR/# rL   r   )r   s   "r   r   r      s(     $ $E $G $4 $D $r   c           	     	  "   V P                   e   V! RRRV P                   /4      G R j  xL
  V! RRRV P                  RV P                  /4      G R j  xL
  V P                    R j  xL
  pV! RRRVR	R
/4      G R j  xL
  K"   L\ L4 L! LD$T! RRRRR	R/4      G R j  xL 
  T P                  '       d   T P	                  4       G R j  xL 
  R # R # 5i)Nr+   r   r~   r   r   r   r   r.   r/   Tr   F)r~   r   r   r   r   )r$   r   r   rM   r6   s   &&&& r   r   _StreamingResponse.__call__   s     99  5vtyyIJJJ-$**4++
 	
 	
  -- 	Y 	Y% 4fe[RVWXXX K	
	YX . F0&#{ERSSS???//### su   (CB)CB	C%B)B*B-C BC	CBCC!B$"C9CC	C)r   r   r~   r   r   )   NNN)r9   r:   r;   r<   r   r   r>   r   r   r   r   r      s    $ $r   r   )
__future__r   typingrb   	anyio.abcr   r   starlette._utilsr   starlette.requestsr   r   starlette.responsesr	   r
   starlette.typesr   r   r   r   r   Callable	Awaitabler   DispatchFunctionTypeVarr   r   rA   r   r   r   r   <module>r      s    "   ; / 8 < B B //7)V5E5Eh5O*OP ??G-D#EvGWGWX`Ga#ab 
NN3I3W I3Xb$ b$J!$ !$r   