Ë
    îñþi](  ã                  óN  — d dl mZ d dlmZmZmZmZmZmZ d dl	m
Z
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 eegee   f   Zeeegee   f   Zeeeee
f   z  df   Zeeez  ez  eee
f   z     Z  ed	«      Z! G d
„ de«      Z" G d„ d«      Z# G d„ de«      Z$y)é    )Úannotations)ÚAsyncGeneratorÚAsyncIterableÚ	AwaitableÚCallableÚMappingÚMutableMapping)ÚAnyÚTypeVarN)Úcollapse_excgroups)ÚClientDisconnectÚRequest)ÚResponse)ÚASGIAppÚMessageÚReceiveÚScopeÚSendÚTc                  ó,   ‡ — e Zd ZdZdˆ fd„Zdd„Zˆ xZS )Ú_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                ól   •— t         ‰| �  ||«       d| _        d| _        | j	                  «       | _        y )NF)ÚsuperÚ__init__Ú_wrapped_rcv_disconnectedÚ_wrapped_rcv_consumedÚstreamÚ_wrapped_rc_stream)ÚselfÚscopeÚreceiveÚ	__class__s      €úY/root/aria/mcps/aria-brain/venv/lib/python3.12/site-packages/starlette/middleware/base.pyr   z_CachedRequest.__init__   s0   ø€ Ü‰Ñ˜ Ô(Ø).ˆÔ&Ø%*ˆÔ"Ø"&§+¡+£-ˆÕó    c              ƒ  ó0  K  — | j                   rddiS | j                  rQ| j                  rd| _         ddiS | j                  «       ƒ d {  –—† }|d   dk7  rt	        d|d   › �«      ‚d| _         |S t        | dd «      �d| _        d| j                  ddœS | j                  rd| _        dd	ddœS 	 | j                  «       }|j                  «       ƒ d {  –—† }| j                  | _        d|| j                   dœS 7 Œ®7 Œ(# t        $ r d| _         ddicY S w xY w­w)
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_receivez_CachedRequest.wrapped_receive"   s]  è ø€ à×)Ò)ð Ð-Ð.Ð.à×%Ò%ð ×$Ò$ð 26�Ô.ØÐ 1Ð2Ð2ð Ÿ™›×&ˆCØ�6‰{Ð/Ò/ô #Ð%BÀ3ÀvÁ;À-Ð#PÓQÐQØ-1ˆDÔ*ØˆJô �4˜ $Ó'Ð3à)-ˆDÔ&à&ØŸ
™
Ø"ñð ð
 ×"Ò"ð *.ˆDÔ&à&ØØ"ñð ð3ØŸ™›�Ø$×.Ñ.Ó0×0�Ø-1×-BÑ-B�Ô*à*Ø!Ø%)×%:Ñ%:Ð!:ñð ðC 'øð> 1ùô $ò 3Ø15�Ô.ØÐ 1Ð2Ò2ð3üsI   ‚ADÁ	C8Á
A#DÂ.#C< ÃC:Ã%C< Ã7DÃ:C< Ã<DÄDÄDÄD)r    r   r!   r   ©Úreturnr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r3   Ú__classcell__)r"   s   @r#   r   r      s   ø„ ñõ0÷;3r$   r   c                  ó&   — e Zd Zddd„Zdd„Zdd„Zy)	ÚBaseHTTPMiddlewareNc                óH   — || _         |€| j                  | _        y || _        y ©N)ÚappÚdispatchÚdispatch_func)r   r?   r@   s      r#   r   zBaseHTTPMiddleware.__init__a   s!   € ØˆŒØ.6Ð.>˜TŸ]™]ˆÕÀHˆÕr$   c           
   ƒ  óî  ‡ ‡‡‡	‡
‡‡‡‡K  — ‰d   dk7  r‰ j                  ‰||«      ƒ d {  –—†  y t        ‰|«      }|j                  Št        j                  «       Šd ŠdŠ	dˆˆ	ˆ
ˆˆˆ ˆˆˆf	d„}t        j
                  «       }|\  ŠŠ
‰
5  ‰5  t        «       5  t        j                  «       4 ƒd {  –—† Š‰ j                  ||«      ƒ d {  –—† } |‰‰|«      ƒ d {  –—†  ‰j                  «        ‰
j                  «        d d d «      ƒd {  –—†  d d d «       d d d «       d d d «       ‰�‰	s‰‚y y 7 �Œ7 Œƒ7 Œk7 Œ[7 Œ-# 1 ƒd {  –—†7  sw Y   Œ=xY w# 1 sw Y   ŒAxY w# 1 sw Y   ŒExY w# 1 sw Y   ŒIxY w­w)Nr&   ÚhttpFc              “  óê  •	‡‡K  — dˆˆfd„Šdˆfd„Šdˆˆˆˆˆˆfd„}‰j                  |«       	 ‰
j                  «       ƒ d {  –—† }|j                  dd «      }|d   dk(  r|�‰
j                  «       ƒ d {  –—† }|d   d	k(  sJ ‚dˆ
fd
„}t        |d    |«       |¬«      }|d   |_	        |S 7 Œj7 Œ8# t        j                  $ r+ ‰�dŠ	‰‰j
                  xs ‰j                  ‚t        d«      ‚w xY w­w)Nc               “  óV  •‡K  — ‰j                  «       rddiS t        j                  «       4 ƒd {  –—† Šdˆfd„} ‰j                  | ‰j                  «        | ‰«      ƒ d {  –—† }d d d «      ƒd {  –—†  ‰j                  «       rddiS S 7 Œ\7 Œ,7 Œ# 1 ƒd {  –—†7  sw Y   Œ.xY w­w)Nr&   r'   c              “  óf   •K  —  | «       ƒ d {  –—† }‰j                   j                  «        |S 7 Œ ­wr>   )Úcancel_scopeÚcancel)ÚfuncÚresultÚ
task_groups     €r#   Úwrapz[BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnect.<locals>.wrapw   s,   øè ø€ Ù'+£v§˜Ø"×/Ñ/×6Ñ6Ô8Ø%˜ð ".ús   ƒ1Ž/�!1)rI   zCallable[[], Awaitable[T]]r5   r   )Úis_setÚanyioÚcreate_task_groupÚ
start_soonÚwait)rL   ÚmessagerK   Úresponse_sentr3   s     @€€r#   Úreceive_or_disconnectzMBaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.receive_or_disconnectq   s«   ùè ø€ Ø ×'Ñ'Ô)Ø"Ð$5Ð6Ð6ä ×2Ñ2Ó4÷ :ð :¸
õ&ð
 ×)Ñ)¨$°×0BÑ0BÔCÙ$(¨Ó$9×9�G÷:÷ :ð !×'Ñ'Ô)Ø"Ð$5Ð6Ð6à�ð:øð :øð:ø÷ :÷ :ñ :üsV   „-B)±B²B)µ.BÁ#BÁ$BÁ(B)Á3BÁ4B)ÂBÂB)ÂB&ÂBÂB&Â"B)c              “  óx   •K  — 	 ‰j                  | «      ƒ d {  –—†  y 7 Œ# t        j                  $ r Y y w xY w­wr>   )ÚsendrN   ÚBrokenResourceError)rR   Úsend_streams    €r#   Úsend_no_errorzEBaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.send_no_error„   s7   øè ø€ ðØ%×*Ñ*¨7Ó3×3Ò3ùÜ×0Ñ0ò áðüs(   ƒ:…! ™š! ž:Ÿ! ¡7´:¶7·:c               “  ó¨   •K  — ‰5  	 ‰j                  ‰‰‰«      ƒ d {  –—†  d d d «       y 7 Œ# t        $ r} | ŠY d } ~ Œd } ~ ww xY w# 1 sw Y   y xY w­wr>   )r?   Ú	Exception)ÚexcÚapp_excrT   r    r   rY   rX   s    €€€€€€r#   Úcoroz<BaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.coro‹   sY   øè ø€ ð !ñ &ð&Ø"Ÿh™h uÐ.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                óÈ   •K  — ‰2 3 d {  –—† } | d   dk(  r| ­–—  y | d   dk(  s
J d| › �«       ‚| j                  dd«      }|r|­–— | j                  dd«      rŒV y 7 ŒS6 y ­w)	Nr&   zhttp.response.pathsendúhttp.response.bodyzUnexpected message: r*   r$   r+   F)Úget)rR   r*   Úrecv_streams     €r#   Úbody_streamzCBaseHTTPMiddleware.__call__.<locals>.call_next.<locals>.body_stream­   s~   øè ø€ Ø%0÷ 	ð 	˜'Ø˜v‘Ð*BÒBØ%›ÙØ" 6™?Ð.BÒBÐdÐFZÐ[bÐZcÐDdÓdÐBØ"Ÿ;™; v¨sÓ3�DÙØ"›
Ø"Ÿ;™; {°EÕ:Ùð	ø¡[ùs,   ƒA"†A ŠA‹A ŽAA"ÁA"ÁA Á A"Ústatus)Ústatus_codeÚcontentr_   Úheadersr4   )rR   r   r5   ÚNone)r5   rk   )r5   ÚBodyStreamGenerator)
rP   r!   rd   rN   ÚEndOfStreamÚ	__cause__Ú__context__r-   Ú_StreamingResponseÚraw_headers)Úrequestr^   rR   r_   rf   ÚresponserT   rY   r]   Úexception_already_raisedre   rS   r    r   rX   rK   r3   s         @@€€€€€€€€€r#   Ú	call_nextz.BaseHTTPMiddleware.__call__.<locals>.call_nextp   s  úè ø€ öõ&÷&ò &ð ×!Ñ! $Ô'ð<Ø +× 3Ñ 3Ó 5×5�Ø—{‘{ 6¨4Ó0�Ø˜6‘?Ð&;Ò;ÀÐ@PØ$/×$7Ñ$7Ó$9×9�Gð" ˜6‘?Ð&;Ò;Ð;Ð;õ
ô *°g¸hÑ6GÑQ\ÓQ^ÐeiÔjˆHØ#*¨9Ñ#5ˆHÔ ØˆOðI 6øð :ùÜ×$Ñ$ò <ØÐ&à/3Ð,ð " w×'8Ñ'8Ò'O¸G×<OÑ<OÐOÜ"Ð#:Ó;Ð;ð<üs@   …*C3°B2 ÁB.Á3B2 Á7B0Á8B2 Á<2C3Â.B2 Â0B2 Â2>C0Ã0C3)rr   r   r5   r   )r?   r   r3   rN   ÚEventÚcreate_memory_object_streamr   rO   rA   ÚsetÚclose)r   r    r!   rV   rr   ru   Ústreamsrs   r]   rt   re   rS   rX   rK   r3   s   ``      @@@@@@@r#   Ú__call__zBaseHTTPMiddleware.__call__e   sq  ÿøè ø€ Ø�‰=˜FÒ"Ø—(‘(˜5 '¨4Ó0×0Ð0Øä  ¨Ó0ˆØ!×1Ñ1ˆÜŸ™›ˆØ$(ˆØ#(Ð ÷K	õ K	ôZ ?D×>_Ñ>_Ó>aˆØ#*Ñ ˆ�[Øñ 	$˜+ñ 	$Ô'9Ó';ñ 	$Ü×.Ñ.Ó0÷ $ð $°JØ!%×!3Ñ!3°G¸YÓ!G×G�Ù˜u o°tÓ<×<Ð<Ø×!Ñ!Ô#Ø×!Ñ!Ô#÷	$÷ $÷	$÷ 	$÷ 	$ð ÐÑ'?ØˆMð (@Ðð} 1ùðr$øØGøØ<øð$ø÷ $÷ $ñ $ú÷	$ð 	$ú÷ 	$ð 	$ú÷ 	$ð 	$üsÄ   ‹E5ªD1«AE5Â	E)ÂEÂEÂ0D4Â1EÂ4D<	Ã
D6ÃD<	ÃD8Ã$D<	ÄEÄD:
ÄEÄEÄE)Ä!E5Ä4EÄ6D<	Ä8D<	Ä:EÄ<EÅEÅEÅ
EÅEÅEÅE&	Å"E)Å)E2Å.E5c              ƒ  ó   K  — t        «       ‚­wr>   )ÚNotImplementedError)r   rr   ru   s      r#   r@   zBaseHTTPMiddleware.dispatchÈ   s   è ø€ Ü!Ó#Ð#ùs   ‚r>   )r?   r   r@   zDispatchFunction | Noner5   rk   ©r    r   r!   r   rV   r   r5   rk   )rr   r   ru   ÚRequestResponseEndpointr5   r   )r6   r7   r8   r   r{   r@   © r$   r#   r<   r<   `   s   „ ôMóaôF$r$   r<   c                  ó<   — e Zd Z	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zy)rp   Nc                ól   — || _         || _        || _        || _        | j	                  |«       d | _        y r>   )r_   Úbody_iteratorrh   Ú
media_typeÚinit_headersÚ
background)r   ri   rh   rj   r„   r_   s         r#   r   z_StreamingResponse.__init__Í   s7   € ð ˆŒ	Ø$ˆÔØ&ˆÔØ$ˆŒØ×Ñ˜'Ô"Øˆ�r$   c              ƒ  óÜ  K  — | j                   � |d| j                   dœ«      ƒ d {  –—†   |d| j                  | j                  dœ«      ƒ d {  –—†  d}| j                  2 3 d {  –—† }t	        |t
        «      rd} ||«      ƒ d {  –—†  Œ, |d|ddœ«      ƒ d {  –—†  ŒA7 Œ{7 ŒU7 Œ@7 Œ 7 Œ6 |r |dd	ddœ«      ƒ d {  –—†7   | j                  r| j                  «       ƒ d {  –—†7   y y ­w)
Nr`   )r&   r_   ra   )r&   rg   rj   TFrc   r)   r$   )r_   rh   rq   rƒ   Ú
isinstanceÚdictr†   )r   r    r!   rV   Úshould_close_bodyr2   s         r#   r{   z_StreamingResponse.__call__Ü   s  è ø€ Ø�9‰9Ð ÙÐ 5¸t¿y¹yÑIÓJ×JÐJÙà-Ø×*Ñ*Ø×+Ñ+ñó
÷ 	
ð 	
ð !ÐØ×-Ñ-÷ 	Yð 	Y�%Ü˜%¤Ô&à$)Ð!Ù˜5“k×!Ð!ØÙÐ 4¸eÐRVÑWÓX×XÑXð! Køð	
øð	Yøð "øàXøð .ñ ÙÐ 4¸cÐPUÑVÓW×WÑWà�?Š?Ø—/‘/Ó#×#Ò#ð ùs�   ‚%C,§B#¨'C,ÁB%ÁC,Á"B-Á&B'Á'B-Á*C,ÂB)Â	C,ÂB+ÂC,Â%C,Â'B-Â)C,Â+C,Â-C,Â?CÃ $C,Ã$C'Ã%C,)éÈ   NNN)ri   ÚAsyncContentStreamrh   Úintrj   zMapping[str, str] | Noner„   z
str | Noner_   zMapping[str, Any] | Noner5   rk   r~   )r6   r7   r8   r   r{   r€   r$   r#   rp   rp   Ì   sT   „ ð Ø,0Ø!%Ø)-ðà#ðð ðð *ð	ð
 ðð 'ðð 
óô$r$   rp   )%Ú
__future__r   Úcollections.abcr   r   r   r   r   r	   Útypingr
   r   rN   Ústarlette._utilsr   Ústarlette.requestsr   r   Ústarlette.responsesr   Ústarlette.typesr   r   r   r   r   r   ÚDispatchFunctionÚbytesÚstrrl   Ú
memoryviewrŒ   r   r   r<   rp   r€   r$   r#   ú<module>r™      sÇ   ðÝ "ç g× gß ã å /ß 8Ý (ß BÕ Bà" G 9¨i¸Ñ.AÐ#AÑBÐ Ø˜WÐ&=Ð>À	È(Ñ@SÐSÑTÐ Ø$ U¨^¸CÀ¸HÑ-EÑ%EÀtÐ%KÑLÐ Ø" 3¨¡;°Ñ#;¸nÈSÐRUÈXÑ>VÑ#VÑWÐ ÙˆCƒL€ôI3�Wô I3÷Xi$ñ i$ôX($˜õ ($r$   