XjV(NddlmZddlmZmZmZmZmZmZddl m Z m Z ddl Z ddl mZddlmZmZddlmZddlmZmZmZmZmZeegeefZeeegeefZeeeee fzdfZeeezezeee fzZ e d Z!Gd d eZ"Gd d Z#GddeZ$y)) annotations)AsyncGenerator AsyncIterable AwaitableCallableMappingMutableMapping)AnyTypeVarN)create_collapsing_task_group)ClientDisconnectRequest)Response)ASGIAppMessageReceiveScopeSendTc,eZdZdZdfd ZddZxZS)_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. clt|||d|_d|_|j |_y)NF)super__init___wrapped_rcv_disconnected_wrapped_rcv_consumedstream_wrapped_rc_stream)selfscopereceive __class__s m/mnt/ssd/data/Dropbox/adrian/vault-secondbrain/venv/lib/python3.12/site-packages/starlette/middleware/base.pyrz_CachedRequest.__init__s0 ().&%*""&++-c0K|jrddiS|jrQ|jr d|_ddiS|jd{}|ddk7rt d|dd|_|St |ddd|_d|j ddS|jr d|_dd ddS |j}|jd{}|j|_d||j dS77(#t$rd|_ddicYSwxYww) Ntypehttp.disconnectTzUnexpected message received: _bodyz http.requestFr&body more_bodyr$) rr_is_disconnectedr! RuntimeErrorgetattrr(_stream_consumedr __anext__r )rmsgrchunks r#wrapped_receivez_CachedRequest.wrapped_receive"s]  ) )-. .  % %$$26. 122 &C6{//#%B3v;-#PQQ-1D *J 4$ ' 3)-D && "   " "*.D &&"  3$..00-1-B-B**!%)%:%:!:C'>1$ 315. 122 3sIAD C8 A#D.#C<C:%C<7D:C<<DDDD)r rr!rreturnr)__name__ __module__ __qualname____doc__rr3 __classcell__)r"s@r#rrs0 ;3r$rc&eZdZdddZddZddZy) BaseHTTPMiddlewareNcH||_||j|_y||_yN)appdispatch dispatch_func)rr?r@s r#rzBaseHTTPMiddleware.__init__as!.6.>T]]Hr$c  Kddk7rj||d{yt|}|jtj dd d  f d }tj }|\ 5 5t 4d{ j||d{}||d{ j jdddd{dddddd syy77z7b7R7$#1d{7swY4xYw#1swY8xYw#1swY) cancel_scopecancel)funcresult task_groups r#wrapz[BaseHTTPMiddleware.__call__..call_next..receive_or_disconnect..wrapws,'+v"//668% ".s 1/!1)rIzCallable[[], Awaitable[T]]r5r)is_setanyiocreate_task_group start_soonwait)rLmessagerK response_sentr3s @r#receive_or_disconnectzMBaseHTTPMiddleware.__call__..call_next..receive_or_disconnectqs '')"$566 224:: & ))$ 0B0BC$($99G::!'')"$566::::::sV-B)BB).B#B$B( B)3B4B)BB)B&B B&"B)cxK j|d{y7#tj$rYywxYwwr>)sendrNBrokenResourceError)rR send_streams r# send_no_errorzEBaseHTTPMiddleware.__call__..call_next..send_no_errors7%**733300s(:!!:!7:7:cK5 jd{dddy7 #t$r }|Yd}~d}~wwxYw#1swYyxYwwr>)r? Exception)excapp_excrTr rrYrXs r#coroz.call_next..corosY!&&"hhu.C]SSS&&S$&"%&&&sDAA.,. A. A>AAAA Ainfor&http.response.debugTzNo response returned.http.response.startcK23d{}|ddk(r|y|ddk(s Jd||jdd}|r||jddrVy7S6yw) Nr&zhttp.response.pathsendhttp.response.bodyzUnexpected message: r*r$r+F)get)rRr* recv_streams r# body_streamzCBaseHTTPMiddleware.__call__..call_next..body_streams~%0  'v*BB% "6?.BBdFZ[bZcDddB";;vs3D" ";;{E: [s,A"A AA A A"A"A  A"status) status_codecontentr_headersr4)rRrr5None)r5rk)r5BodyStreamGenerator) rPr!rdrN EndOfStream __cause__ __context__r-_StreamingResponse raw_headers)requestr^rRr_rfresponserTrYr]exception_already_raisedrerSr rrXrKr3s @@r# call_nextz.BaseHTTPMiddleware.__call__..call_nextps  &  & &  ! !$ ' < + 3 3 55{{6406?&;;@P$/$7$7$99G"6?&;; ;; *gh6GQ\Q^eijH#*9#5H OI6:$$ <&/3,"w'8'8'OGC00C3)rrrr5r) r?rr3rNEventcreate_memory_object_streamr rAsetclose)rr r!rVrrrustreamsrsr]rtrerSrXrKr3s`` @@@@@@@r#__call__zBaseHTTPMiddleware.__call__esP =F "((5'40 0 0  0!11 $(#( K K Z?D>_>_>a#* [  $+ $35 $ $!%!3!3GY!GGuot<<<!!#!!#  $ $ $ $  '?M(@ } 1r $G< $ $ $ $ $ $ $ $sE DAE  D? D3D D3D5D 6DD $D, D37D8D3<D?E D3DDD3D0 $D'%D0 ,D33D< 8D??EE cKtwr>)NotImplementedError)rrrrus r#r@zBaseHTTPMiddleware.dispatchs!##s r>)r?rr@zDispatchFunction | Noner5rkr rr!rrVrr5rk)rrrruRequestResponseEndpointr5r)r6r7r8rr{r@r$r#r<r<`sMaF$r$r<c<eZdZ d ddZddZy)rpNcl||_||_||_||_|j |d|_yr>)r_ body_iteratorrh media_type init_headers background)rrirhrjrr_s r#rz_StreamingResponse.__init__s7 $&$ '"r$cK|j|d|jdd{|d|j|jdd{d}|j23d{}t |t rd}||d{,|d|ddd{A7{7U7@7 7 6|r|dd ddd{7|j r|j d{7yyw) Nr`)r&r_ra)r&rgrjTFrcr)r$)r_rhrqr isinstancedictr)rr r!rVshould_close_bodyr2s r#r{z_StreamingResponse.__call__s 99  5tyyIJ J J-**++    !-- Y Y%%&$)!5k!! 4eRVWX X X! K  Y" X .  4cPUVW 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) riAsyncContentStreamrhintrjzMapping[str, str] | Nonerz str | Noner_zMapping[str, Any] | Noner5rkr~)r6r7r8rr{rr$r#rprpsT,0!%)- #  *    '   $r$rp)% __future__rcollections.abcrrrrrr typingr r rNstarlette._utilsr starlette.requestsr rstarlette.responsesrstarlette.typesrrrrrrDispatchFunctionbytesstrrl memoryviewrrrr<rprr$r#rs"gg 98(BB"G9i.A#ABW&=> (@SST$U^CH-E%Et%KL"3;#;nSRUX>V#VW CLI3WI3Xi$i$X($($r$