idnddlZddlZddlZddlmZddlmZmZddlm Z ddl m Z GddeZ dS) N) HTTPAdapter)CacheControllerPERMANENT_REDIRECT_STATUSES) DictCache)CallbackFileWrappercXeZdZhdZ d fd Zd fd Z d fd ZfdZxZS) CacheControlAdapter>PUTPATCHDELETENTctt|j|i||tn||_||_|pd|_|pt} | |j|||_dS)N)GET) cache_etags serializer) superr __init__rcache heuristiccacheable_methodsr controller) selfrrcontroller_classrrrargskwcontroller_factory __class__s U/opt/cloudlinux/venv/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||}nt|jtvr|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_contentch|jdkr|jdSdS)Nr) chunk_left_fp_close)rsuper_update_chunk_lengths r_update_chunk_lengthz@CacheControlAdapter.build_response.._update_chunk_lengthrs?11333?a// HOO-----0/r)rr"rapplystatusrupdate_cached_responseread release_connintrcache_responserr3 functoolspartialchunkedr6types MethodTyperr r&invalidating_methodsok cache_urlurlrdeleter!) rr+responser!rr,r-r6r.rEr5rs @rr&z"CacheControlAdapter.build_response=s&?)? 2 gn 99~ :>//99#%% #'/"H"HX###(22!%J  U 333%%'''*X_%%)DDD..wAAAA 3L%6   # 080M-..... 5:4D,h55H1($//>>wQQ >T6 6 647 611'+>>I J  i ( ( (% rc|jtt|dSN)rcloserr )rrs rrKzCacheControlAdapter.closes:  !4((..00000r)NTNNNNrJ)FN) __name__ __module__ __qualname__rCrr*r&rK __classcell__)rs@rr r s555      *,FJHHHHHHT111111111rr ) rAr>r$pip._vendor.requests.adaptersrrrrrr filewrapperrr rrrSs   555555DDDDDDDD,,,,,,y1y1y1y1y1+y1y1y1y1y1r