2bifSSKJr SSKrSSKJr SSKJrJrJr \(aSSK J r "SS5r g)) annotationsN)NamedTemporaryFile) TYPE_CHECKINGAnyCallable) HTTPResponsecd\rSrSrSrS SjrS SjrS SjrSSjrSSSjjr SS jr S r g)CallbackFileWrappera Small wrapper around a fp object which will tee everything read into a buffer, and when that file is closed it will execute a callback with the contents of that buffer. All attributes are proxied to the underlying file object. This class uses members with a double underscore (__) leading prefix so as not to accidentally shadow an attribute. The data is stored in a temporary file until it is all available. As long as the temporary files directory is disk-based (sometimes it's a memory-backed-``tmpfs`` on Linux), data will be unloaded to disk if memory pressure is high. For small files the disk usually won't be used at all, it'll all be in the filesystem memory cache, so there should be no performance impact. c:[SSS9UlXlX lg)Nzrb+T)delete)r_CallbackFileWrapper__buf_CallbackFileWrapper__fp_CallbackFileWrapper__callback)selffpcallbacks ږ/builddir/build/BUILDROOT/alt-python313-pip-23.3.1-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/pip/_vendor/cachecontrol/filewrapper.py__init__CallbackFileWrapper.__init__!s(d;  "c:URS5n[X!5$)Nr)__getattribute__getattr)rnamers r __getattr__CallbackFileWrapper.__getattr__(s  " "#= >r  rcURRSL$![a Of=fURRnU$![a gf=f)NF)rrAttributeErrorclosed)rr s r__is_fp_closed"CallbackFileWrapper.__is_fp_closed4s\ 99<<4' '    99++FM    s ''A AAcUR(aURR5S:XaSnOaURRSS5 [ [ R "URR 5S[ RS95nURU5 SUlURR5 g)Nrr)access) rrtellseek memoryviewmmapfileno ACCESS_READclose)rresults r_closeCallbackFileWrapper._closeFs ??zz A%  1%#IIdjj//11T=M=MN OOF # rNcURRU5nU(aURRU5 UR 5(aUR 5 U$N)rreadrwrite"_CallbackFileWrapper__is_fp_closedr-ramtdatas rr1CallbackFileWrapper.readasHiinnS)  JJ  T "    KKM rcURRU5nUS:XaUS:XaU$URRU5 UR 5(aUR 5 U$)Ns )r _safe_readrr2r3r-r4s rr:CallbackFileWrapper._safe_readlsYii**3/ !8K     KKM r)__buf __callback__fp)rrrzCallable[[bytes], None] | NonereturnNone)rstrr?r)r?bool)r?r@r0)r5z int | Noner?bytes)r5intr?rC) __name__ __module__ __qualname____firstlineno____doc__rrr3r-r1r:__static_attributes__rrr r s=$##*H# # !$6  rr ) __future__rr(tempfilertypingrrr http.clientrr rKrrrPs(# '//(iir