Files
pyGoEdge-UserPanel/.venv/Lib/site-packages/asgiref/__pycache__/wsgi.cpython-312.pyc

51 lines
7.1 KiB
Plaintext
Raw Normal View History

2025-11-18 03:36:49 +08:00
<EFBFBD>
g<> iV<00><00>P<00>ddlZddlmZddlmZmZGd<04>d<05>ZGd<06>d<07>Zy)<08>N)<01>SpooledTemporaryFile)<02> AsyncToSync<6E> sync_to_asyncc<00><00>eZdZdZd<02>Zd<03>Zy)<05>
WsgiToAsgizG
Wraps a WSGI application to make it into an ASGI application.
c<00><00>||_y<00>N)<01>wsgi_application<6F><02>selfr
s <20>;E:\Project\pygoedge\.venv\Lib\site-packages\asgiref/wsgi.py<70>__init__zWsgiToAsgi.__init__ s
<00><00> 0<><04><1D>c<00><00>ZK<00>t|j<00>|||<03><00>d{<00><02><03>y7<00><05>w)z<>
ASGI application instantiation point.
We return a new WsgiToAsgiInstance here with the WSGI app
and the scope, ready to respond when it is __call__ed.
N)<02>WsgiToAsgiInstancer
)r <00>scope<70>receive<76>sends r <00>__call__zWsgiToAsgi.__call__s(<00><00><><00> 8<> <20><14>!6<>!6<>7<><05>w<EFBFBD><04>M<>M<>M<>s <00>!+<01>)<04>+N)<06>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__rr<00>rr rrs<00><00><08>1<>Nrrc<00>:<00>eZdZdZd<02>Zd<03>Zd<04>Zdd<06>Zed<07><00>Z y) rz;
Per-socket instance of a wrapped WSGI application
c<00>.<00>||_d|_d|_y)NF)r
<00>response_started<65>response_content_lengthr s r rzWsgiToAsgiInstance.__init__s<00><00> 0<><04><1D> %<25><04><1D>'+<2B><04>$rc<00><00><>K<00>|ddk7r td<03><00>||_td<04><05>5} |<02><00>d{<00><03><03>}|ddk7r td<07><00>|j|j dd <09><00>|j d
<EFBFBD>sn<01>V|j d <0B>t |<03>|_|j|<04><00>d{<00><03><03>ddd<00>y7<00><>7<00>#1swYyxYw<01>w) N<>type<70>httpz&WSGI wrapper received a non-HTTP scopei)<01>max_sizez http.requestz0WSGI wrapper received a non-HTTP-request message<67>bodyr<00> more_bodyr) <09>
ValueErrorrr<00>write<74>get<65>seekr<00> sync_send<6E> run_wsgi_app)r rrrr#<00>messages r rzWsgiToAsgiInstance.__call__"s<><00><00><><00> <10><16>=<3D>F<EFBFBD> "<22><1C>E<>F<> F<><1A><04>
<EFBFBD> !<21>5<EFBFBD> 1<>T<EFBFBD><16> '<27> <09>/<2F><07><1A>6<EFBFBD>?<3F>n<EFBFBD>4<>$<24>%W<>X<>X<><14>
<EFBFBD>
<EFBFBD>7<EFBFBD>;<3B>;<3B>v<EFBFBD>s<EFBFBD>3<>4<><1E>{<7B>{<7B>;<3B>/<2F><19> <17> <11>I<EFBFBD>I<EFBFBD>a<EFBFBD>L<EFBFBD>(<28><14>.<2E>D<EFBFBD>N<EFBFBD><16>#<23>#<23>D<EFBFBD>)<29> )<29> )<29>2<> 1<>*<2A><> *<2A><>2<> 1<>s?<00>'C<01> C<03>C<06>BC<03>6C<06>7C<03>; C<01>C<03>C<03>C<07> Cc <00>(<00>|jdd<02>jd<03>jd<04>}|djd<03>jd<04>}|j|<03>r|t |<03>d}|d|||djd <09>d
|d zd |jd d<0E>|t
j dddd<11> }d|vr |dd|d<t|dd<00>|d<n
d|d<d|d<|jd<19><00> |dd|d<|jjdg<00>D]n\}}|jd<04>}|dk(rd}n+|dk(rd}n#d |j<00>jd!d"<22>z}|jd<04>}||vr ||d#z|z}|||<<00>p|S)$zM
Builds a scope and request body into a WSGI environ object.
<20> root_path<74><00>utf8<66>latin1<6E>pathN<68>method<6F> query_string<6E>asciizHTTP/%s<> http_version)<02>r<00>schemer!TF) <0C>REQUEST_METHOD<4F> SCRIPT_NAME<4D> PATH_INFO<46> QUERY_STRING<4E>SERVER_PROTOCOLz wsgi.versionzwsgi.url_schemez
wsgi.inputz wsgi.errorszwsgi.multithreadzwsgi.multiprocessz wsgi.run_once<63>serverr<00> SERVER_NAMEr6<00> SERVER_PORT<52> localhost<73>80<38>client<6E> REMOTE_ADDR<44>headers<72>content-length<74>CONTENT_LENGTHz content-type<70> CONTENT_TYPEzHTTP_%s<>-<2D>_<>,) r'<00>encode<64>decode<64>
startswith<EFBFBD>len<65>sys<79>stderr<72>strr<00>upper<65>replace) r rr#<00> script_name<6D> path_info<66>environ<6F>name<6D>value<75>corrected_names r <00> build_environz WsgiToAsgiInstance.build_environ5s<><00><00><1C>i<EFBFBD>i<EFBFBD> <0B>R<EFBFBD>0<>7<>7<><06>?<3F>F<>F<>x<EFBFBD>P<> <0B><19>&<26>M<EFBFBD>(<28>(<28><16>0<>7<>7<><08>A<> <09> <14> <1F> <1F> <0B> ,<2C>!<21>#<23>k<EFBFBD>"2<>"4<>5<>I<EFBFBD>#<23>H<EFBFBD>o<EFBFBD>&<26>"<22>!<21>.<2E>1<>8<>8<><17>A<>(<28>5<EFBFBD><1E>+@<40>@<40>"<22>$<24>y<EFBFBD>y<EFBFBD><18>6<EFBFBD>:<3A><1E><1E>:<3A>:<3A> $<24>!%<25>"<22> 
<EFBFBD><07> <14>u<EFBFBD> <1C>%*<2A>8<EFBFBD>_<EFBFBD>Q<EFBFBD>%7<>G<EFBFBD>M<EFBFBD> "<22>%(<28><15>x<EFBFBD><1F><11>);<3B>%<<3C>G<EFBFBD>M<EFBFBD> "<22>%0<>G<EFBFBD>M<EFBFBD> "<22>%)<29>G<EFBFBD>M<EFBFBD> "<22> <10>9<EFBFBD>9<EFBFBD>X<EFBFBD> <1E> *<2A>%*<2A>8<EFBFBD>_<EFBFBD>Q<EFBFBD>%7<>G<EFBFBD>M<EFBFBD> "<22> <20>:<3A>:<3A>><3E>><3E>)<29>R<EFBFBD>8<>K<EFBFBD>D<EFBFBD>%<25><17>;<3B>;<3B>x<EFBFBD>(<28>D<EFBFBD><13>'<27>'<27>!1<><0E><15><1E>'<27>!/<2F><0E>!*<2A>T<EFBFBD>Z<EFBFBD>Z<EFBFBD>\<5C>-A<>-A<>#<23>s<EFBFBD>-K<>!K<><0E><19>L<EFBFBD>L<EFBFBD><18>*<2A>E<EFBFBD><1D><17>(<28><1F><0E>/<2F>#<23>5<><05>=<3D><05>&+<2B>G<EFBFBD>N<EFBFBD> #<23>9<><17>rNc<00><><00>|jr|dj|d<00><00>t|d<03>r |<03> td<05><00>|j dd<01>\}}t |<04>}|D<00><06>cgc]5\}}|j <00>jd<07>|jd<07>f<02><02>7}}}d|_|D])\}}|j <00>dk(s<01>t |<07>|_<00>+d ||d
<EFBFBD>|_ ycc}}w) z/
WSGI start_response callable.
r6<00><00>response_startNz=You cannot call start_response a second time without exc_info<66> r4rEzhttp.response.start)r <00>statusrD)
r<00>with_traceback<63>hasattrr%<00>split<69>int<6E>lowerrKrr]) r r_<00>response_headers<72>exc_info<66> status_coderIrWrXrDs r <00>start_responsez!WsgiToAsgiInstance.start_responsefs<><00><00>
<10> <20> <20><1A>1<EFBFBD>+<2B>,<2C>,<2C>X<EFBFBD>a<EFBFBD>[<5B>9<> 9<> <12>4<EFBFBD>)<29> *<2A>x<EFBFBD>/?<3F><1C>O<><0E> <0E> <20><1C><1C>c<EFBFBD>1<EFBFBD>-<2D><0E> <0B>Q<EFBFBD><19>+<2B>&<26> <0B> 0<>
<EFBFBD>/<2F> <0B><04>e<EFBFBD><12>Z<EFBFBD>Z<EFBFBD>\<5C> <20> <20><17> )<29>5<EFBFBD><<3C><<3C><07>+@<40> A<>/<2F> <10>
<EFBFBD>
(,<2C><04>$<24>+<2B>K<EFBFBD>D<EFBFBD>%<25><13>z<EFBFBD>z<EFBFBD>|<7C>/<2F>/<2F>/2<>5<EFBFBD>z<EFBFBD><04>,<2C>,<2C>
*<2A>!<21><1E>
<EFBFBD><04><1B><>
s<00>":C c<00>$<00>|j|j|<01>}d}|j||j<00>D]<5D>}|js"d|_|j |j <00>|j<00>"|j|z
}t|<04>|kDr|d|}|j d|dd<05><03>|t|<04>z }||jk(s<01><>n|js"d|_|j |j <00>|j ddi<01>y)z<>
Called in a subthread to run the WSGI app. We encapsulate like
this so that the start_response callable is called in the same thread.
rTNzhttp.response.body)r r#r$r ) rZrr
rhrr)r]rrN)r r#rV<00>
bytes_sent<EFBFBD>output<75> bytes_alloweds r r*zWsgiToAsgiInstance.run_wsgi_app<70>s<00><00><17>$<24>$<24>T<EFBFBD>Z<EFBFBD>Z<EFBFBD><14>6<><07><16>
<EFBFBD><1A>+<2B>+<2B>G<EFBFBD>T<EFBFBD>5H<35>5H<35>I<>F<EFBFBD><17>(<28>(<28>(,<2C><04>%<25><14><0E><0E>t<EFBFBD>2<>2<>3<><13>+<2B>+<2B>7<> $<24> <<3C> <<3C>z<EFBFBD> I<> <0A><16>v<EFBFBD>;<3B><1D>.<2E>#<23>N<EFBFBD>]<5D>3<>F<EFBFBD> <10>N<EFBFBD>N<EFBFBD>-<2D>v<EFBFBD>D<EFBFBD>Q<> <0E> <17>#<23>f<EFBFBD>+<2B> %<25>J<EFBFBD><19>T<EFBFBD>9<>9<>9<><15>#J<01>&<14>$<24>$<24>$(<28>D<EFBFBD> !<21> <10>N<EFBFBD>N<EFBFBD>4<EFBFBD>.<2E>.<2E> /<2F> <0C><0E><0E><06> 4<>5<>6rr )
rrrrrrrZrhrr*rrr rrs1<00><00><08>,<2C>
*<2A>&/<17>b
<EFBFBD>@<13>7<><13>7rr)rO<00>tempfiler<00> asgiref.syncrrrrrrr <00><module>ros&<00><01>
<EFBFBD>)<29>3<>N<01>N<01>"N7<>N7r