RejddlZddlZddlZddlmZddlmZddlmZddl m Z GddeZ dS) N) HTTPAdapter)CacheController) DictCache)CallbackFileWrappercXeZdZddhZ d fd Zd fd Z d fd Zfd ZxZS) CacheControlAdapterPUTDELETENTctt|j|i||tn||_||_|pd|_|pt} | |j|||_dS)N)GET) cache_etags serializer) superr __init__rcache heuristiccacheable_methodsr controller) selfrrcontroller_classrrrargskwcontroller_factory __class__s /builddir/build/BUILDROOT/alt-python311-pip-21.3.1-3.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_vendor/cachecontrol/adapter.pyrzCacheControlAdapter.__init__s 2!4((14>2>>>$)MY[[[u "!2!>h-@,, JKJ   c l|p|j}|j|vr |j|}n#tj$rd}YnwxYw|r|||dS|j|j |tt|j |fi|}|S)z Send a request. Use the request information to see if it exists in the cache and cache the response if we need to and can. NT) from_cache) rmethodrcached_requestzliberrorbuild_responseheadersupdateconditional_headersrr send)rrequestrr cacheablecached_responseresprs rr(zCacheControlAdapter.send$s &?)? >Y & & '"&/"@"@"I"I: ' ' '"& ' V**7OPT*UUU O " "4?#F#Fw#O#O P P P4u($//4WCCCC s0AAFc> |p|j}|s|j|vr|jr|j|}|jdkrN|j||}||urd}|d||}n|jdkr|j ||net|j tj |jj |||_ |jr&|j fd}t!j|||_t%t&|||}|j|jvr@|jr9|j|j} |j| ||_|S)z Build a response by making a request or using the cache. This will end up calling send and returning a potentially cached response i0TF)decode_contenti-ch|jdkr|jdSdS)Nr) chunk_left_fp_close)rsuper_update_chunk_lengths r_update_chunk_lengthz@CacheControlAdapter.build_response.._update_chunk_lengthns?11333?a// HOO-----0/r)rr rapplystatusrupdate_cached_responseread release_conncache_responserr1 functoolspartialchunkedr4types MethodTyperr r$invalidating_methodsok cache_urlurlrdeleter) rr)responserrr*r+r4r,rBr3rs @rr$z"CacheControlAdapter.build_response9s&?)? 2 gn 99~ :>//99#%% #'/"H"HX###(22!%J  U 333%%'''*C''..wAAAA 3L%6   # 080M-..... 5:4D,h55H1($//>>wQQ >T6 6 647 611'+>>I J  i ( ( (% rc|jtt|dSN)rcloserr )rrs rrHzCacheControlAdapter.closes:  !4((..00000r)NTNNNNrG)FN) __name__ __module__ __qualname__r@rr(r$rH __classcell__)rs@rr r s!8,      *,FJHHHHHHT111111111rr ) r>r;r"pip._vendor.requests.adaptersrrrrr filewrapperrr rrrPs  555555'''''',,,,,,y1y1y1y1y1+y1y1y1y1y1r