Files
pyGoEdge-UserPanel/.venv/Lib/site-packages/django/http/__pycache__/response.cpython-312.pyc

190 lines
34 KiB
Plaintext
Raw Normal View History

2025-11-18 03:36:49 +08:00
<EFBFBD>
j<> iLf<00><00><><00>ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl m
Z
ddl m Z ddl mZddlmZmZddlmZddlmZmZddlmZdd lmZdd
lmZdd lmZdd lm Z dd l!m"Z"ddl#m$Z$ddl%m&Z&m'Z'm(Z(ddl)m*Z*e*dejV<00>Z,Gd<12>de <20>Z-Gd<14>de.<2E>Z/Gd<16>d<17>Z0Gd<18>de0<65>Z1Gd<1A>de0<65>Z2Gd<1C>de2<65>Z3Gd<1E>de1<65>Z4Gd <20>d!e4<65>Z5Gd"<22>d#e4<65>Z6Gd$<24>d%e1<65>Z7Gd&<26>d'e1<65>Z8Gd(<28>d)e1<65>Z9Gd*<2A>d+e1<65>Z:Gd,<2C>d-e1<65>Z;Gd.<2E>d/e1<65>Z<Gd0<64>d1e1<65>Z=Gd2<64>d3e><3E>Z?Gd4<64>d5e1<65>Z@y)6<>N)<01>Header)<01> responses)<01>urlsplit)<02> async_to_sync<6E> sync_to_async)<01>settings)<02>signals<6C>signing)<01>DisallowedRedirect)<01>DjangoJSONEncoder)<01> SimpleCookie)<01>timezone)<01>CaseInsensitiveMapping)<01>
iri_to_uri)<01>cached_property)<03>MAX_URL_LENGTH<54>content_disposition_header<65> http_date)<01>_lazy_re_compilez ;\s*charset=(?P<charset>[^\s;]+)c<00>4<00>eZdZd<01>Zdd<02>Zd<03>Zd<04>Zd d<06>Zd<07>Zy)
<EFBFBD>ResponseHeadersc<00>T<00>i|_|r|j|<01>D]
\}}|||<<00> yy)zm
Populate the initial data using __setitem__ to ensure values are
correctly encoded.
N)<02>_store<72> _unpack_items)<04>self<6C>data<74>header<65>values <20>CE:\Project\pygoedge\.venv\Lib\site-packages\django/http/response.py<70>__init__zResponseHeaders.__init__"s5<00><00>
<19><04> <0B> <0F>!%<25>!3<>!3<>D<EFBFBD>!9<> <0A><06><05>$<24><04>V<EFBFBD> <0C>":<3A> <10>c<00>2<00> t|t<00>r|j|<02>n>t|t<00>r|j |<02>}nt|<01>}|j|<02>d|vsd|vrt d|<01>d<04><03><00> |S#t $r<>}t|t<00>rd|vsd|vst|t<00>rd|vsd|vrt d|<01>d<04><03>|<04>|r+t|dtj<00><08>j<00>}n|xjd |zz c_
<00>Yd
}~|Sd
}~wwxYw) z<>
Convert headers key/value to ascii/latin-1 native strings.
`charset` must be 'ascii' or 'latin-1'. If `mime_encode` is True and
`value` can't be represented in the given charset, apply MIME-encoding.
<20>
<EFBFBD> z*Header values can't contain newlines (got <20>)<29>
<EFBFBD> <0A>utf-8)<01>
maxlinelenz,, HTTP response headers must be in %s formatN) <0B>
isinstance<EFBFBD>str<74>encode<64>bytes<65>decode<64>BadHeaderError<6F> UnicodeErrorr<00>sys<79>maxsize<7A>reason)rr<00>charset<65> mime_encode<64>es r<00>_convert_to_charsetz#ResponseHeaders._convert_to_charset,s<00><00>  <16><19>%<25><13>%<25><15> <0C> <0C>W<EFBFBD>%<25><1B>E<EFBFBD>5<EFBFBD>)<29><1D> <0C> <0C>W<EFBFBD>-<2D><05><1B>E<EFBFBD>
<EFBFBD><05><15> <0C> <0C>W<EFBFBD>%<25><13>u<EFBFBD>}<7D><04><05> <0A>$<24>@<40><15> <09><11>K<><12><12>!.<2E>(<15> <0C><>!<1C> <16>
<1B>5<EFBFBD>%<25>(<28>e<EFBFBD>u<EFBFBD>n<EFBFBD><05><15><0E><1A>5<EFBFBD>#<23>&<26>D<EFBFBD>E<EFBFBD>M<EFBFBD>T<EFBFBD>U<EFBFBD>]<5D>$<24>@<40><15> <09><11>K<><12><18><19><1B><1E>u<EFBFBD>g<EFBFBD>#<23>+<2B>+<2B>F<>M<>M<>O<><05><11><08><08>J<>W<EFBFBD>T<>T<><08><15><16><15> <0C><>! <16>s<00>A7A<<00>< D<03>BD<03>Dc<00>&<00>|j|<01>y<00>N)<01>pop)r<00>keys r<00> __delitem__zResponseHeaders.__delitem__Ss <00><00> <0C><08><08><13> r!c<00><><00>|j|d<01>}|j|dd<03><04>}||f|j|j<00><y)N<>ascii<69>latin-1T)r5)r7r<00>lower<65>rr;rs r<00> __setitem__zResponseHeaders.__setitem__VsC<00><00><12>&<26>&<26>s<EFBFBD>G<EFBFBD>4<><03><14>(<28>(<28><15> <09>t<EFBFBD>(<28>L<><05>$'<27><15><<3C><04> <0B> <0B>C<EFBFBD>I<EFBFBD>I<EFBFBD>K<EFBFBD> r!Nc<00>V<00>|jj|j<00>|<02>Sr9)rr:r@)rr;<00>defaults rr:zResponseHeaders.pop[s<00><00><13>{<7B>{<7B><EFBFBD><EFBFBD>s<EFBFBD>y<EFBFBD>y<EFBFBD>{<7B>G<EFBFBD>4<>4r!c<00><00>||vr|||<yyr9<00>rAs r<00>
setdefaultzResponseHeaders.setdefault^s<00><00> <0E>d<EFBFBD>?<3F><1D>D<EFBFBD><13>I<EFBFBD> r!<00>Fr9) <09>__name__<5F>
__module__<EFBFBD> __qualname__r r7r<rBr:rGrFr!rrr!s!<00><00>%<25>%<15>N<16>0<>
5<>r!rc<00> <00>eZdZy)r/N<>rIrJrKrFr!rr/r/c<00><00><00>r!r/c<00>.<00>eZdZdZdZ dd<04>Zed<05><00>Zejd<06><00>Zed<07><00>Z e jd<08><00>Z d <09>Z
e
Z ed
<EFBFBD><00>Z d <0B>Z d <0C>Zd <0A>Zd<0E>ZeZd<0F>Zdd<10>Z d d<11>Zd<12>Zd!d<13>Zd"d<14>Zd<15>Zd<16>Zd<17>Zd<18>Zd<19>Zd<1A>Zd<1B>Zd<1C>Zd<1D>Z y)#<23>HttpResponseBasez<65>
An HTTP response base class with dictionary-accessed headers.
This class doesn't handle content. It should not be used directly.
Use the HttpResponse and StreamingHttpResponse subclasses instead.
<20><>Nc<00><><00>t|<05>|_||_d|jvr!|<01>d|j<00><00>}||jd<n |r t d<03><00>g|_d|_t<00>|_d|_ |<02>= t|<02>|_ d|jcxkrdkst d<08><00>t d<08><00>||_ y#ttf$r td<05><00>wxYw) N<> Content-Typeztext/html; charset=zX'headers' must not contain 'Content-Type' when the 'content_type' parameter is provided.Fz$HTTP status code must be an integer.<2E>diWz4HTTP status code must be an integer from 100 to 599.)r<00>headers<72>_charsetr4<00>
ValueError<EFBFBD>_resource_closers<72>_handler_classr <00>cookies<65>closed<65>int<6E> status_code<64> TypeError<6F>_reason_phrase)r<00> content_type<70>statusr3r4rUs rr zHttpResponseBase.__init__qs<><00><00>'<27>w<EFBFBD>/<2F><04> <0C><1F><04> <0A> <19><14><1C><1C> -<2D><1B>#<23>!4<>T<EFBFBD>\<5C>\<5C>N<EFBFBD>C<> <0C>+7<>D<EFBFBD>L<EFBFBD>L<EFBFBD><1E> (<28> <19><1C>8<><0E> <0E>"$<24><04><1E>#<23><04><1B>#<23>~<7E><04> <0C><1B><04> <0B> <11> <1D> H<01>#&<26>v<EFBFBD>;<3B><04> <20><17>$<24>*<2A>*<2A>1<>c<EFBFBD>1<> <20>!W<>X<>X<>2<> <20>!W<>X<>X<>$<24><04><1B><> <1F> <09>*<2A> H<01><1F> F<>G<>G<> H<01>s <00>;B?<00>?Cc<00>r<00>|j<00> |jStj|jd<01>S)NzUnknown Status Code)r_r<00>getr]<00>rs r<00> reason_phrasezHttpResponseBase.reason_phrase<73>s4<00><00> <0F> <1E> <1E> *<2A><17>&<26>&<26> &<26><19>}<7D>}<7D>T<EFBFBD>-<2D>-<2D>/D<>E<>Er!c<00><00>||_yr9)r_<00>rrs rrezHttpResponseBase.reason_phrase<73>s
<00><00>#<23><04>r!c<00><><00>|j<00> |jS|jjd<01>x}r,tj |<01>x}r|dj dd<04>St jS)NrSr4<00>"<22>)rVrUrc<00>_charset_from_content_type_re<72>search<63>replacer<00>DEFAULT_CHARSET)rr`<00>matcheds rr4zHttpResponseBase.charset<65>sn<00><00> <0F>=<3D>=<3D> $<24><17>=<3D>=<3D> <20> <20><<3C><<3C>+<2B>+<2B>N<EFBFBD>;<3B> ;<3B><<3C> ;<3B>7<>><3E>><3E>|<7C>L<>L<>w<EFBFBD>L<>
<1F>y<EFBFBD>)<29>1<>1<>#<23>r<EFBFBD>:<3A>:<3A><17>'<27>'<27>'r!c<00><00>||_yr9)rVrgs rr4zHttpResponseBase.charset<65>s <00><00><1D><04> r!c
<00><><00>dj|jj<00>D<00><01>cgc]+\}}|jd<02>dz|jd<04>z<00><02>-c}}<01>Scc}}w)zHTTP headers as a bytestring.s
r>s: r?)<04>joinrU<00>itemsr,rAs r<00>serialize_headersz"HttpResponseBase.serialize_headers<72>sb<00><00><16>|<7C>|<7C>#'<27>,<2C>,<2C>"4<>"4<>"6<> <0E>"6<>J<EFBFBD>C<EFBFBD><15><14>
<EFBFBD>
<EFBFBD>7<EFBFBD>#<23>e<EFBFBD>+<2B>e<EFBFBD>l<EFBFBD>l<EFBFBD>9<EFBFBD>.E<>E<>"6<> <0E>
<EFBFBD>
<EFBFBD><EFBFBD> s<00>0A!
c<00>F<00>d|jvrd|jdzSdS)NrSz, "%s"rj<00>rUrds r<00>_content_type_for_reprz'HttpResponseBase._content_type_for_repr<70>s2<00><00><1E><14><1C><1C>-<2D> <15>t<EFBFBD>|<7C>|<7C>N<EFBFBD>3<> 3<>
<EFBFBD><14>
r!c<00>"<00>||j|<yr9rv)rrrs rrBzHttpResponseBase.__setitem__<5F>s<00><00>$<24><04> <0C> <0C>V<EFBFBD>r!c<00><00>|j|=yr9rv<00>rrs rr<zHttpResponseBase.__delitem__<5F>s<00><00> <10>L<EFBFBD>L<EFBFBD><16> r!c<00> <00>|j|Sr9rvrzs r<00> __getitem__zHttpResponseBase.__getitem__<5F>s<00><00><13>|<7C>|<7C>F<EFBFBD>#<23>#r!c<00><00>||jvS)z$Case-insensitive check for a header.rvrzs r<00>
has_headerzHttpResponseBase.has_header<65>s<00><00><15><14><1C><1C>%<25>%r!c<00>6<00>|jj<00>Sr9)rUrsrds rrszHttpResponseBase.items<6D>s<00><00><13>|<7C>|<7C>!<21>!<21>#<23>#r!c<00>:<00>|jj||<02>Sr9)rUrc)rr<00> alternates rrczHttpResponseBase.get<65>s<00><00><13>|<7C>|<7C><1F><1F><06> <09>2<>2r!c
<00>4<00>||j|<|<04><>t|tj<00>r<>tj|<04>r.tj
|tjj <00>}|tjjtjj <00><02>z
}
|
tjd<03><04>z }
d}|<03> td<05><00>td|
jdz|
jz<00>}n%||j|d<nd |j|d<|<03>wt|tj<00>r|j<00>}t|<03>|j|d
<|s0tt!j <00>|z<00>|j|d<|<05>||j|d <|<06>||j|d <|rd |j|d<|rd |j|d<| r0| j#<00>dvr td<11><00>| |j|d<yy)a<>
Set a cookie.
``expires`` can be:
- a string in the correct format,
- a naive ``datetime.datetime`` object in UTC,
- an aware ``datetime.datetime`` object in any time zone.
If it is a ``datetime.datetime`` object then calculate ``max_age``.
``max_age`` can be:
- int/float specifying seconds,
- ``datetime.timedelta`` object.
N)<01>tz<74>)<01>secondsz/'expires' and 'max_age' can't be used together.ri<>Q<00>expiresrjzmax-age<67>path<74>domainT<6E>secure<72>httponly)<03>lax<61>none<6E>strictz,samesite must be "lax", "none", or "strict".<2E>samesite)rZr*<00>datetimer<00>is_naive<76>
make_aware<EFBFBD>utc<74>now<6F> timedeltarW<00>max<61>daysr<73><00> total_secondsr\r<00>timer@) rr;r<00>max_ager<65>r<>r<>r<>r<>r<><00>deltas r<00>
set_cookiezHttpResponseBase.set_cookie<69>s<><00><00>2"<22><04> <0C> <0C>S<EFBFBD><19> <12> <1E><19>'<27>8<EFBFBD>#4<>#4<>5<><1B>$<24>$<24>W<EFBFBD>-<2D>&<26>1<>1<>'<27>8<EFBFBD>;L<>;L<>;P<>;P<>Q<>G<EFBFBD><1F>(<28>"3<>"3<>"7<>"7<>8<EFBFBD>;L<>;L<>;P<>;P<>"7<>"Q<>Q<><05><16><18>+<2B>+<2B>A<EFBFBD>6<>6<><05><1E><07><1A>&<26>$<24>%V<>W<>W<><1D>a<EFBFBD><15><1A><1A>e<EFBFBD>!3<>e<EFBFBD>m<EFBFBD>m<EFBFBD>!C<>D<><07>/6<><04> <0C> <0C>S<EFBFBD>!<21>)<29>,<2C>+-<2D>D<EFBFBD>L<EFBFBD>L<EFBFBD><13> <1D>i<EFBFBD> (<28> <12> <1E><19>'<27>8<EFBFBD>#5<>#5<>6<>!<21>/<2F>/<2F>1<><07>+.<2E>w<EFBFBD><<3C>D<EFBFBD>L<EFBFBD>L<EFBFBD><13> <1D>i<EFBFBD> (<28><1A>/8<><14><19><19><1B>w<EFBFBD>9N<39>/O<><04> <0C> <0C>S<EFBFBD>!<21>)<29>,<2C> <0F> <1B>(,<2C>D<EFBFBD>L<EFBFBD>L<EFBFBD><13> <1D>f<EFBFBD> %<25> <11> <1D>*0<>D<EFBFBD>L<EFBFBD>L<EFBFBD><13> <1D>h<EFBFBD> '<27> <11>*.<2E>D<EFBFBD>L<EFBFBD>L<EFBFBD><13> <1D>h<EFBFBD> '<27> <13>,0<>D<EFBFBD>L<EFBFBD>L<EFBFBD><13> <1D>j<EFBFBD> )<29> <13><17>~<7E>~<7E><1F>'@<40>@<40> <20>!O<>P<>P<>,4<>D<EFBFBD>L<EFBFBD>L<EFBFBD><13> <1D>j<EFBFBD> )<29> r!c<00><<00>|jj||<02>y)z,Set a header unless it has already been set.N)rUrGrAs rrGzHttpResponseBase.setdefaults<00><00> <0C> <0C> <0C><1F><1F><03>U<EFBFBD>+r!c <00>z<00>tj||z<00><01>j|<02>}|j||fi|<04><01>S)N)<01>salt)r
<00>get_cookie_signer<65>signr<6E>)rr;rr<><00>kwargss r<00>set_signed_cookiez"HttpResponseBase.set_signed_cookies9<00><00><17>)<29>)<29>s<EFBFBD>T<EFBFBD>z<EFBFBD>:<3A>?<3F>?<3F><05>F<><05><1E>t<EFBFBD><EFBFBD><EFBFBD>s<EFBFBD>E<EFBFBD>4<>V<EFBFBD>4<>4r!c <00><><00>|jd<01>xs|xr|j<00>dk(}|j|d|||d|<04><05>y)N)z __Secure-z__Host-r<>rzThu, 01 Jan 1970 00:00:00 GMT)r<>r<>r<>r<>r<>r<>)<03>
startswithr@r<>)rr;r<>r<>r<>r<>s r<00> delete_cookiezHttpResponseBase.delete_cookiesW<00><00>
<15><1E><1E> 8<>9<>
<EFBFBD> <14> 3<><18><1E><1E>)<29>V<EFBFBD>3<> <0F> <0A><0F><0F> <0F><15><15><19><19>3<><1D> <18>
r!c<00><><00>t|ttf<02>r t|<01>St|t<00>r$t|j |j
<00><00>St|<01>j |j
<00>S)z=Turn a value into a bytestring encoded in the output charset.)r*r-<00>
memoryviewr+r,r4rgs r<00>
make_byteszHttpResponseBase.make_bytes2sX<00><00> <16>e<EFBFBD>e<EFBFBD>Z<EFBFBD>0<> 1<><18><15><<3C> <1F> <15>e<EFBFBD>S<EFBFBD> !<21><18><15><1C><1C>d<EFBFBD>l<EFBFBD>l<EFBFBD>3<>4<> 4<><12>5<EFBFBD>z<EFBFBD> <20> <20><14><1C><1C>.<2E>.r!c<00><><00>|jD]
} |<01><00> |jj<00>d|_tj
j |j<00><02>y#t$rY<00>dwxYw)NT)<01>sender)rX<00> Exception<6F>clearr[r <00>request_finished<65>sendrY)r<00>closers r<00>closezHttpResponseBase.closeGsh<00><00><1A>,<2C>,<2C>F<EFBFBD> <15><16><08>-<2D> <0A><1E><1E>$<24>$<24>&<26><1A><04> <0B><0F> <20> <20>%<25>%<25>T<EFBFBD>-@<40>-@<40>%<25>A<><41> <1D> <15><14> <15>s<00>A&<02>& A2<05>1A2c<00>F<00>td|jjz<00><00><01>Nz This %s instance is not writable<6C><03>OSError<6F> __class__rI<00>r<00>contents r<00>writezHttpResponseBase.writeR<00><00><00><15>8<>4<EFBFBD>><3E>><3E>;R<>;R<>R<>S<>Sr!c<00><00>yr9rFrds r<00>flushzHttpResponseBase.flushUs<00><00> r!c<00>F<00>td|jjz<00><00>)Nz)This %s instance cannot tell its positionr<6E>rds r<00>tellzHttpResponseBase.tellXs!<00><00><15> 7<>$<24>.<2E>.<2E>:Q<>:Q<> Q<>
<EFBFBD>
r!c<00><00>y<01>NFrFrds r<00>readablezHttpResponseBase.readable`<00><00><00>r!c<00><00>yr<>rFrds r<00>seekablezHttpResponseBase.seekablecr<>r!c<00><00>yr<>rFrds r<00>writablezHttpResponseBase.writablefr<>r!c<00>F<00>td|jjz<00><00>r<>r<>)r<00>liness r<00>
writelineszHttpResponseBase.writelinesir<>r!)NNNNNr9)rjNN<4E>/NFFN)rj)r<>NN)!rIrJrK<00>__doc__r]r <00>propertyre<00>setterr4rt<00> __bytes__rwrBr<r|r~<00> __contains__rsrcr<>rGr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rFr!rrPrPgs<00><00><08><16>K<EFBFBD>RV<01>%<25><<0E>F<01><0E>F<01><13><19><19>$<24><1A>$<24><0E> (<28><0E> (<28> <0A>^<5E>^<5E><1E><14><1E>
<EFBFBD>"<22>I<EFBFBD> <0A>
<EFBFBD><0E>
<EFBFBD>%<25>!<21>$<24>&<26><1E>L<EFBFBD>$<24>3<> <11><14><14> <10><13><14><16><15>>5<>@,<2C>5<>
<EFBFBD>(/<2F>* B<01>T<01> <0A>
<EFBFBD><15><15><15>Tr!rPc<00><><00><00>eZdZdZdZd<0F>fd<03> Zd<04>Zd<05>ZeZe d<06><00>Z
e
jd<07><00>Z
e d<08><00>Z d <09>Zd
<EFBFBD>Zd <0B>Zd <0C>Zd <0A>Zd<0E>Z<13>xZS)<10> HttpResponsezs
An HTTP response class with a string as content.
This content can be read, appended to, or replaced.
Fc<00>2<00><01>t<00>|<00>|i|<03><01>||_yr9)<03>superr r<>)rr<><00>argsr<73>r<>s <20>rr zHttpResponse.__init__vs<00><><00> <0A><07><18>$<24>)<29>&<26>)<29><1E><04> r!c<00>d<00>d|jj|j|jd<02>zS<00>Nz5<%(cls)s status_code=%(status_code)d%(content_type)s>)<03>clsr]r`<00>r<>rIr]rwrds r<00>__repr__zHttpResponse.__repr__{s4<00><00>F<><17>><3E>><3E>*<2A>*<2A><1F>+<2B>+<2B> <20>7<>7<>J
<EFBFBD>
<EFBFBD>
r!c<00>B<00>|j<00>dz|jzS)z6Full HTTP message, including headers, as a bytestring.s
)rtr<>rds r<00> serializezHttpResponse.serialize<7A>s<00><00><13>%<25>%<25>'<27>+<2B>5<><04> <0C> <0C>D<>Dr!c<00>8<00>dj|j<00>S<00>Nr!)rr<00>
_containerrds rr<>zHttpResponse.content<6E>s<00><00><12>x<EFBFBD>x<EFBFBD><04><0F><0F>(<28>(r!c<00>L<00><00>t|d<01>rSt|tttf<03>s8dj <00>fd<03>|D<00><00>}t|d<04>r# |j <00>n<11>j|<01>}|g<01>_ <00>jjdd<00>y#t$rY<00>0wxYw)N<>__iter__r!c3<00>@<00>K<00>|]}<01>j|<01><00><01><00>y<00>wr9<00>r<>)<03>.0<EFBFBD>chunkrs <20>r<00> <genexpr>z'HttpResponse.content.<locals>.<genexpr><3E>s<00><><00><><00>I<>5<EFBFBD>%<25>t<EFBFBD><EFBFBD><EFBFBD>u<EFBFBD>5<>5<EFBFBD>s<00>r<><00>text) <0C>hasattrr*r-r<>r+rrr<>r<>r<>r<><00>__dict__r:)rrr<>s` rr<>zHttpResponse.content<6E>s<><00><><00> <13>5<EFBFBD>*<2A> %<25>j<EFBFBD> <11>E<EFBFBD>:<3A>s<EFBFBD>+<2B>/
<EFBFBD><1A>h<EFBFBD>h<EFBFBD>I<>5<EFBFBD>I<>I<>G<EFBFBD><16>u<EFBFBD>g<EFBFBD>&<26><19><19>K<EFBFBD>K<EFBFBD>M<EFBFBD><1B>o<EFBFBD>o<EFBFBD>e<EFBFBD>,<2C>G<EFBFBD>"<22>)<29><04><0F> <0C> <0A> <0A><19><19>&<26>$<24>'<27><> !<21><19><18><19>s<00>B<00> B#<03>"B#c<00>T<00>|jj|jxsd<01>S)Nr()r<>r.r4rds rr<>zHttpResponse.text<78>s <00><00><13>|<7C>|<7C>"<22>"<22>4<EFBFBD><<3C><<3C>#:<3A>7<EFBFBD>;<3B>;r!c<00>,<00>t|j<00>Sr9)<02>iterr<72>rds rr<>zHttpResponse.__iter__<5F>s<00><00><13>D<EFBFBD>O<EFBFBD>O<EFBFBD>$<24>$r!c<00>X<00>|jj|j|<01><00>yr9)r<><00>appendr<64>r<>s rr<>zHttpResponse.write<74>s<00><00> <0C><0F><0F><1E><1E>t<EFBFBD><EFBFBD><EFBFBD>w<EFBFBD>7<>8r!c<00>,<00>t|j<00>Sr9)<02>lenr<6E>rds rr<>zHttpResponse.tell<6C>s<00><00><12>4<EFBFBD><<3C><<3C> <20> r!c<00><00>|jSr9)r<>rds r<00>getvaluezHttpResponse.getvalue<75>s <00><00><13>|<7C>|<7C>r!c<00><00>y)NTrFrds rr<>zHttpResponse.writable<6C>s<00><00>r!c<00>4<00>|D]}|j|<02><00>yr9)r<>)rr<><00>lines rr<>zHttpResponse.writelines<65>s<00><00><19>D<EFBFBD> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C>r!)r!)rIrJrKr<><00> streamingr r<>r<>r<>r<>r<>r<>rr<>r<>r<>r<>r<>r<>r<><00> __classcell__<5F>r<>s@rr<>r<>ms<><00><><00><08> <16>I<EFBFBD><1F>

<EFBFBD>E<01><1A>I<EFBFBD> <0A>)<29><0E>)<29> <0A>^<5E>^<5E>(<28><14>(<28>"<15><<3C><15><<3C>%<25>9<>!<21><1C><14>r!r<>c<00><><00><00>eZdZdZdZd <0A>fd<03> Zd<04>Zed<05><00>Zed<06><00>Z ed<07><00>Z
e
jd<08><00>Z
d <09>Z d
<EFBFBD>Z d <0B>Zd <0C>Z<0F>xZS)<0E>StreamingHttpResponsea$
A streaming HTTP response class with an iterator as content.
This should only be iterated once, when the response is streamed to the
client. However, it can be appended to or replaced with a new iterator
that wraps the original content (or yields entirely new content).
Tc<00>2<00><01>t<00>|<00>|i|<03><01>||_yr9)r<>r <00>streaming_content)rr<>r<>r<>r<>s <20>rr zStreamingHttpResponse.__init__<5F>s<00><><00> <0A><07><18>$<24>)<29>&<26>)<29>"3<><04>r!c<00>d<00>d|jj|j|jd<02>zSr<>)r<>rKr]rwrds rr<>zStreamingHttpResponse.__repr__<5F>s4<00><00>F<><17>><3E>><3E>.<2E>.<2E><1F>+<2B>+<2B> <20>7<>7<>J
<EFBFBD>
<EFBFBD>
r!c<00>F<00>td|jjz<00><00>)NzMThis %s instance has no `content` attribute. Use `streaming_content` instead.<2E><03>AttributeErrorr<72>rIrds rr<>zStreamingHttpResponse.content<6E>s'<00><00><1C> +<2B>-1<>^<5E>^<5E>-D<>-D<> E<01>
<EFBFBD>
r!c<00>F<00>td|jjz<00><00>)Nz)This %s instance has no `text` attribute.r<>rds rr<>zStreamingHttpResponse.text<78>s!<00><00><1C> 7<>$<24>.<2E>.<2E>:Q<>:Q<> Q<>
<EFBFBD>
r!c<00><><00><00><02><00>jr<19>j<00><02><02>fd<01>}|<01>St<00>j<00>j<00>S)Nc<00>T<00>K<00><00>23d{<00><03><03>}<00>j|<00><00><04><01><00>7<00>6y<00>wr9r<>)<03>part<72> _iteratorrs <20><>r<00>awrapperz9StreamingHttpResponse.streaming_content.<locals>.awrapper<65>s(<00><><00><><00>"+<2B>0<>$<24><1E>/<2F>/<2F>$<24>/<2F>/<2F>0<><30>)<29>s<00>(<01>&<02>$<06>&<02>(<01>&<02>()<04>is_asyncr<00>mapr<70>)rrrs` @rr<>z'StreamingHttpResponse.streaming_content<6E>s9<00><><00> <0F>=<3D>=<3D><1D><0E><0E>I<EFBFBD> 0<><1C>:<3A> <1D><16>t<EFBFBD><EFBFBD><EFBFBD><04><0E><0E>7<> 7r!c<00>&<00>|j|<01>yr9)<01>_set_streaming_contentrgs rr<>z'StreamingHttpResponse.streaming_content<6E>s<00><00> <0C>#<23>#<23>E<EFBFBD>*r!c<00><><00> t|<01>|_d|_t |d<03>r&|j j|j<00>yy#t$rt |<01>|_d|_Y<00>UwxYw)NFTr<54>) r<>rrr^<00>aiterr<72>rXr<>r<>rgs rrz,StreamingHttpResponse._set_streaming_content<6E>se<00><00> !<21>!<21>%<25>[<5B>D<EFBFBD>N<EFBFBD>!<21>D<EFBFBD>M<EFBFBD> <13>5<EFBFBD>'<27> "<22> <10> "<22> "<22> )<29> )<29>%<25>+<2B>+<2B> 6<> #<23><><19> !<21>"<22>5<EFBFBD>\<5C>D<EFBFBD>N<EFBFBD> <20>D<EFBFBD>M<EFBFBD> !<21>s<00>A <00> A/<03>.A/c
<00><><00> t|j<00>S#t$rZtjdt
d<02><03>d<04>}t |jtt|<01>|j<00><00><00>cYSwxYw)Nz<4E>StreamingHttpResponse must consume asynchronous iterators in order to serve them synchronously. Use a synchronous iterator instead.<2E><00><01>
stacklevelc<00><00>RK<00>g}|23d{<00><03><03>}|j|<02><00>7<00>6|S<00>wr9)r<>)r<00>as_listr<74>s r<00>to_listz/StreamingHttpResponse.__iter__.<locals>.to_lists.<00><00><><00><1C><07>#,<2C>*<2A>%<25><1B>N<EFBFBD>N<EFBFBD>5<EFBFBD>)<29>*<2A><>9<EFBFBD><1E><0E>s<00>'<01>$<02>"<06>$<02>'<01>$<02>')
r<EFBFBD>r<>r^<00>warnings<67>warn<72>Warningrr<>rr)rrs rr<>zStreamingHttpResponse.__iter__<5F>sp<00><00> V<01><17><04>.<2E>.<2E>/<2F> /<2F><><18> V<01> <14>M<EFBFBD>M<EFBFBD>P<01><17><1C>  <0E> <1F> <17>t<EFBFBD><EFBFBD><EFBFBD><04>-C<>]<5D>7<EFBFBD>-C<>D<EFBFBD>N<EFBFBD>N<EFBFBD>-S<>(T<>U<> U<> V<01>s<00><00>A A:<03>9A:c<00>K<00> |j23d{<00><04><03>}|<01><04><02><00>7<00>
6y#t$rQtjdtd<02><03>t t <00>|j<00><00>d{<00><03><03>7D]}|<01><04><02><00> YywxYw<01>w)Nz<4E>StreamingHttpResponse must consume synchronous iterators in order to serve them asynchronously. Use an asynchronous iterator instead.r r )r<>r^rrrr<00>list)rrs r<00> __aiter__zStreamingHttpResponse.__aiter__ sy<00><00><><00> <1B>"<22>4<>4<> <1B>d<EFBFBD><1A>
<EFBFBD> <1B><>4<><34><18>
<1B> <14>M<EFBFBD>M<EFBFBD>S<01><17><1C>  <0E>2<>m<EFBFBD>D<EFBFBD>1<>$<24>2H<32>2H<32>I<>I<>I<><04><1A>
<EFBFBD>J<01>
<1B>sJ<00>B<01> #<00>!<02><06>!<02>#<00>!<02>#<00>B<01>AA=<03>*A-<06>+A=<03>:B<01><A=<03>=Bc<00>8<00>dj|j<00>Sr<>)rrr<>rds rr<>zStreamingHttpResponse.getvalues<00><00><12>x<EFBFBD>x<EFBFBD><04>.<2E>.<2E>/<2F>/r!)rF)rIrJrKr<>r<>r r<>r<>r<>r<>r<>r<>rr<>rr<>r<>r<>s@rr<>r<><00>s<><00><><00><08><15>I<EFBFBD>3<> 
<EFBFBD><0E>
<EFBFBD><0E>
<EFBFBD> <0E>
<EFBFBD><0E>
<EFBFBD>
<0E> 8<><0E> 8<><17><1D><1D>+<2B><1E>+<2B> 7<>V<01>(<1B> 0r!r<>c<00>><00><00>eZdZdZdZddd<05><02>fd<06>
Z<05>fd<07>Zd<08>Z<07>xZS) <09> FileResponsez>
A streaming HTTP response class optimized for files.
iFrj)<02> as_attachment<6E>filenamec<00>d<00><01>||_||_d|vxs|ddu|_t<00>|<00>|i|<04><01>y)Nr`)rr<00>_no_explicit_content_typer<65>r )rrrr<>r<>r<>s <20>rr zFileResponse.__init__(sE<00><><00>*<2A><04><1A> <20><04> <0A> <1A>&<26> (<28> J<>F<EFBFBD>><3E>,B<>d<EFBFBD>,J<> <0A>&<26> <0E><07><18>$<24>)<29>&<26>)r!c<00>"<00><01><00><02>t|d<01>sd<00>_t<00><03><00> |<01>S|x<01>_<00>t<00>d<02>r%<25>jj <00>j <00>t<00><02>fd<03>d<04>}<01>j<00><02>t<00><03><00> |<01>y)N<>readr<64>c<00>:<00><02><00>j<00>j<00>Sr9)r <00>
block_size<EFBFBD><02>filelikers<00><>r<00><lambda>z5FileResponse._set_streaming_content.<locals>.<lambda>8s<00><><00>X<EFBFBD>]<5D>]<5D>4<EFBFBD>?<3F>?<3F>;r!r!) r<><00>file_to_streamr<6D>rrXr<>r<>r<><00> set_headers)rrr$r<>s` @<40>rrz#FileResponse._set_streaming_content0s|<00><><00><16>u<EFBFBD>f<EFBFBD>%<25>"&<26>D<EFBFBD> <1F><18>7<EFBFBD>1<>%<25>8<> 8<>).<2E>.<2E><04><1B>h<EFBFBD> <12>8<EFBFBD>W<EFBFBD> %<25> <10> "<22> "<22> )<29> )<29>(<28>.<2E>.<2E> 9<><14>;<3B>S<EFBFBD>A<><05> <0C><18><18><18>"<22> <0A><07>&<26>u<EFBFBD>-r!c<00><><00><00><01>t<00>dd<02>}t|t<00>r|nd}t<00>d<03>xrt<00>d<04> xs<00>j <00>}t<00>d<05><00>r|rc<72>j <00>}<04>j dtj<00><00>j <00>|z
<00>jd<<00>j |<04><00>nt<00>d<08>r9<72>j<00>j<00>j <00>z
<00>jd<n<>tjj|<02>r<>tjj|<02><00>j <00>z
<00>jd<n_|r]t!t#<00><01>fd <09>d<06><00><00>jd<<00>j t%<00>jd<00> tj<00>tjj'<00>j(xs|<02>}<02>j*rU|rDt-j.|<02>\}}d
d d d dd<0F>j1||<05>}|xsd<10>jd<nd<10>jd<t3<00>j4|<02>x}r|<07>jd<yy)z<>
Set some common response headers (Content-Length, Content-Type, and
Content-Disposition) based on the `filelike` response content.
<20>namerj<00>seekr<6B>r<>rzContent-Length<74> getbufferc<00>L<00><02>t<00>j<00>j<00><00>Sr9)r<>r r"r#s<00><>rr%z*FileResponse.set_headers.<locals>.<lambda>Vs<00><><00>S<EFBFBD><18><1D><1D>t<EFBFBD><EFBFBD><EFBFBD>!?<3F>@r!zapplication/x-brotlizapplication/x-bzipzapplication/x-compresszapplication/gzipzapplication/x-xz)<05>br<62>bzip2<70>compress<73>gzip<69>xzzapplication/octet-streamrSzContent-DispositionN)<1B>getattrr*r+r<>r<>r<>r*<00>io<69>SEEK_ENDrUr+<00>nbytes<65>osr<73><00>exists<74>getsize<7A>sumr<6D>r\<00>basenamerr<00> mimetypes<65>
guess_typercrr)rr$rr<><00>initial_positionr`<00>encoding<6E>content_dispositions`` rr'zFileResponse.set_headers<s+<00><><00>
<1B>8<EFBFBD>V<EFBFBD>R<EFBFBD>0<><08>)<29>(<28>C<EFBFBD>8<>8<EFBFBD>b<EFBFBD><08><1A>8<EFBFBD>V<EFBFBD>,<2C>
<EFBFBD><17><08>*<2A>-<2D> -<2D> D<><18>1B<31>1B<31>1D<31> <11> <13>8<EFBFBD>V<EFBFBD> $<24><17>#+<2B>=<3D>=<3D>?<3F> <20><18> <0A> <0A>a<EFBFBD><12><1B><1B>-<2D>19<31><1D><1D><1F>CS<43>1S<31><04> <0C> <0C>-<2D>.<2E><18> <0A> <0A>.<2E>/<2F><18><18>;<3B>/<2F><1C>&<26>&<26>(<28>/<2F>/<2F>(<28>-<2D>-<2D>/<2F>A<><15> <0C> <0C>-<2D>.<2E><14><17><17><1E><1E><08>)<29><16>G<EFBFBD>G<EFBFBD>O<EFBFBD>O<EFBFBD>H<EFBFBD>-<2D><08> <0A> <0A><0F>?<3F><15> <0C> <0C>-<2D>.<2E><16>-0<><14>@<40>!<21>D<>.<0E>D<EFBFBD>L<EFBFBD>L<EFBFBD>)<29> *<2A> <15>M<EFBFBD>M<EFBFBD>3<EFBFBD>t<EFBFBD>|<7C>|<7C>,<<3C>=<3D>><3E>><3E><02> <0B> <0B> L<><15>7<EFBFBD>7<EFBFBD>#<23>#<23>D<EFBFBD>M<EFBFBD>M<EFBFBD>$=<3D>X<EFBFBD>><3E><08> <0F> )<29> )<29><17>)2<>)=<3D>)=<3D>h<EFBFBD>)G<>&<26> <0C>h<EFBFBD>1<>1<> 8<>.<2E>,<2C>  <12> <16>#<23>h<EFBFBD> <0C>-<2D> <1D>!<21>><3E>$><3E><15> <0C> <0C>^<5E>,<2C>0J<01><04> <0C> <0C>^<5E>,<2C>"<<3C> <10> <1E> <1E><08>#
<EFBFBD>
<EFBFBD> <1E>
<EFBFBD>3F<01>D<EFBFBD>L<EFBFBD>L<EFBFBD>.<2E> /<2F>
r!) rIrJrKr<>r"r rr'r<>r<>s@rrr!s$<00><><00><08><16>J<EFBFBD>,1<>B<EFBFBD>*<2A>
.<2E>4Fr!rc<00>@<00><00>eZdZgd<01>Zd<05>fd<02> Zed<03><00>Zd<04>Z<07>xZS)<06>HttpResponseRedirectBase)<03>http<74>https<70>ftpc<00>V<00><01>t<00>|<00>|i|<04><01>t|<01>|d<t|<01>}t |<05>t
kDrt dt
<00>d<03><03><00>t|<05>}|r|j|_ |jr1|j|jvrt d|jz<00><00>yy)N<>LocationzUnsafe redirect exceeding z charactersz)Unsafe redirect to URL with protocol '%s') r<>r rr+r<>rr r<00>status_code_preserve_requestr]<00>scheme<6D>allowed_schemes)r<00> redirect_to<74>preserve_requestr<74>r<><00>redirect_to_str<74>parsedr<64>s <20>rr z!HttpResponseRedirectBase.__init__vs<><00><><00> <0A><07><18>$<24>)<29>&<26>)<29>%<25>k<EFBFBD>2<><04>Z<EFBFBD><18><1D>k<EFBFBD>*<2A><0F> <0E><EFBFBD> <1F>.<2E> 0<>$<24>,<2C>^<5E>,<<3C>K<EFBFBD>H<><0E> <0E><1A>/<2F>*<2A><06> <1B>#<23>@<40>@<40>D<EFBFBD> <1C> <11>=<3D>=<3D>V<EFBFBD>]<5D>]<5D>$<24>2F<32>2F<32>F<>$<24>;<3B>f<EFBFBD>m<EFBFBD>m<EFBFBD>K<><0E> <0E>G<01>=r!c<00> <00>|dS)NrFrFrds rr%z!HttpResponseRedirectBase.<lambda><3E>s <00><00><04>Z<EFBFBD> 0r!c<00>z<00>d|jj|j|j|jd<02>zS)NzD<%(cls)s status_code=%(status_code)d%(content_type)s, url="%(url)s">)r<>r]r`<00>url)r<>rIr]rwrPrds rr<>z!HttpResponseRedirectBase.__repr__<5F>s:<00><00> R<><1B>~<7E>~<7E>.<2E>.<2E>#<23>/<2F>/<2F> $<24> ;<3B> ;<3B><1B>x<EFBFBD>x<EFBFBD> <0E> <0E>
r!rH) rIrJrKrIr r<>rPr<>r<>r<>s@rrArAss<00><><00>.<2E>O<EFBFBD><0E> <13>0<>
1<EFBFBD>C<EFBFBD> 
r!rAc<00><00>eZdZdZdZy)<04>HttpResponseRedirecti.i3N<>rIrJrKr]rGrFr!rrRrR<00><00> <00><00><15>K<EFBFBD>#&<26> r!rRc<00><00>eZdZdZdZy)<04>HttpResponsePermanentRedirecti-i4NrSrFr!rrVrV<00>rTr!rVc<00>Z<00><00>eZdZdZ<03>fd<02>Zej jd<03><00>Z<06>xZS)<04>HttpResponseNotModifiedi0c<00>*<00><01>t<00>|<00>|i|<02><01>|d=y)Nz content-type)r<>r )rr<>r<>r<>s <20>rr z HttpResponseNotModified.__init__<5F>s<00><><00> <0A><07><18>$<24>)<29>&<26>)<29> <10><1E> r!c<00>,<00>|r td<01><00>g|_y)Nz7You cannot set content to a 304 (Not Modified) response)r<>r<>rgs rr<>zHttpResponseNotModified.content<6E>s<00><00> <10> <20>I<><0E> <0E><1D><04>r!) rIrJrKr]r r<>r<>r<>r<>r<>s@rrXrX<00>s-<00><><00><15>K<EFBFBD>!<21><12><19><19> <20> <20><1D>!<21>r!rXc<00><00>eZdZdZy)<03>HttpResponseBadRequesti<74>N<>rIrJrKr]rFr!rr\r\<00><00><00><00><15>Kr!r\c<00><00>eZdZdZy)<03>HttpResponseNotFoundi<64>Nr]rFr!rr`r`<00>r^r!r`c<00><00>eZdZdZy)<03>HttpResponseForbiddeni<6E>Nr]rFr!rrbrb<00>r^r!rbc<00>(<00><00>eZdZdZ<03>fd<02>Zd<03>Z<05>xZS)<04>HttpResponseNotAllowedi<64>c<00>L<00><01>t<00>|<00>|i|<03><01>dj|<01>|d<y)Nz, <20>Allow)r<>r rr)r<00>permitted_methodsr<73>r<>r<>s <20>rr zHttpResponseNotAllowed.__init__<5F>s(<00><><00> <0A><07><18>$<24>)<29>&<26>)<29><1C> <09> <09>"3<>4<><04>W<EFBFBD> r!c<00>l<00>d|jj|j|j|dd<03>zS)NzC<%(cls)s [%(methods)s] status_code=%(status_code)d%(content_type)s>rf)r<>r]r`<00>methodsr<73>rds rr<>zHttpResponseNotAllowed.__repr__<5F>s;<00><00>T<><17>><3E>><3E>*<2A>*<2A><1F>+<2B>+<2B> <20>7<>7<><1B>G<EFBFBD>}<7D> X
<EFBFBD>
<EFBFBD>
r!)rIrJrKr]r r<>r<>r<>s@rrdrd<00>s<00><><00><15>K<EFBFBD>5<>
r!rdc<00><00>eZdZdZy)<03>HttpResponseGonei<65>Nr]rFr!rrkrk<00>r^r!rkc<00><00>eZdZdZy)<03>HttpResponseServerErrori<72>Nr]rFr!rrmrm<00>r^r!rmc<00> <00>eZdZy)<02>Http404NrMrFr!rroro<00>rNr!roc<00>*<00><00>eZdZdZeddf<03>fd<04> Z<05>xZS)<05> JsonResponseaH
An HTTP response class that consumes data to be serialized to JSON.
:param data: Data to be dumped into json. By default only ``dict`` objects
are allowed to be passed due to a security flaw before ECMAScript 5. See
the ``safe`` parameter for more information.
:param encoder: Should be a json encoder class. Defaults to
``django.core.serializers.json.DjangoJSONEncoder``.
:param safe: Controls if only ``dict`` objects may be serialized. Defaults
to ``True``.
:param json_dumps_params: A dictionary of kwargs passed to json.dumps().
TNc <00><><00><01>|rt|t<00>s td<01><00>|<04>i}|jdd<03>t j
|fd|i|<04><01>}t <00>|<00>dd|i|<05><01>y)NzTIn order to allow non-dict objects to be serialized set the safe parameter to False.r`zapplication/jsonr<6E>r<>rF)r*<00>dictr^rG<00>json<6F>dumpsr<73>r )rr<00>encoder<65>safe<66>json_dumps_paramsr<73>r<>s <20>rr zJsonResponse.__init__<5F>sp<00><><00> <10>
<EFBFBD>4<EFBFBD><14>.<2E><1B>+<2B><0E> <0E> <1D> $<24> "<22> <1D><0E><19><19>.<2E>*<<3C>=<3D><13>z<EFBFBD>z<EFBFBD>$<24>A<>G<EFBFBD>A<>/@<40>A<><04> <0A><07><18>0<><14>0<><16>0r!)rIrJrKr<>r r r<>r<>s@rrqrq<00>s<00><><00> <08> "<22> <11><1E> 1<>1r!rq)Ar<41>r3rtr;r6<00>rer1r<>r<00> email.headerr<00> http.clientr<00> urllib.parser<00> asgiref.syncrr<00> django.confr<00> django.corer r
<00>django.core.exceptionsr <00>django.core.serializers.jsonr <00>django.http.cookier <00> django.utilsr<00>django.utils.datastructuresr<00>django.utils.encodingr<00>django.utils.functionalr<00>django.utils.httprrr<00>django.utils.regex_helperr<00>IrkrrWr/rPr<>r<>rrArRrVrXr\r`rbrdrkrmr<>rorqrFr!r<00><module>r<>sR<00><01><0F> <09> <0B><10> <09> <09>
<EFBFBD> <0B><0F><1F>!<21>!<21>5<> <20>(<28>5<>:<3A>+<2B>!<21>><3E>,<2C>3<>S<>S<>6<> 0<>'<27><12><14><14>!<02><1D>
?<1E>,<2C>?<1E>D <09>Z<EFBFBD> <09>CT<01>CT<01>LF<1D>#<23>F<1D>Rh0<>,<2C>h0<>VOF<01>(<28>OF<01>d
<EFBFBD>|<7C>
<EFBFBD>B'<27>3<>'<27>
'<27>$<<3C>'<27>
<1D>l<EFBFBD> <1D> <16>\<5C><16><16><<3C><16><16>L<EFBFBD><16> 
<EFBFBD>\<5C> 
<EFBFBD> <16>|<7C><16><16>l<EFBFBD><16> <09>i<EFBFBD> <09>1<><<3C>1r!