Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
§

iµµhˆGãó—dZddlmZddlZddlZddlZddlZddlmZddl	m
Z
mZmZddl
mZddlmZmZddlmZe
rdd	l	mZdd
lmZddlmZddlmZeje¦«Zejd
¦«ZdZdd„Z Gd„d¦«Z!dS)z7
The httplib2 algorithms ported for use with requests.
é)ÚannotationsN)Úparsedate_tz)Ú
TYPE_CHECKINGÚ
CollectionÚMapping)ÚCaseInsensitiveDict)Ú	DictCacheÚSeparateBodyBaseCache)Ú
Serializer)ÚLiteral)ÚPreparedRequest)ÚHTTPResponse)Ú	BaseCachez9^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?)é-é4ÚuriÚstrÚreturnútuple[str, str, str, str, str]có°—t |¦«}|€J‚| ¦«}|d|d|d|d|dfS)zƒParses a URI using the regex given in Appendix B of RFC 3986.

    (scheme, authority, path, query, fragment) = parse_uri(uri)
    Nééééé)ÚURIÚmatchÚgroups)rrrs   úB/usr/local/lib/python3.11/site-packages/cachecontrol/controller.pyÚ	parse_urir %sQ€õ

IŠIc‰NŒN€EØÐÐÐØ
\Š\‰^Œ^€FØ1ŒIv˜a”y &¨¤)¨V°A¬Y¸¸q¼	ÐBÐBócó˜—eZdZdZ				d)d*d„Zed+d„¦«Zed+d„¦«Zd,d„Zd-d„Z	d.d„Z
d/d„Z		d0d1d&„Z		d0d2d'„Z
d3d(„ZdS)4ÚCacheControllerz4An interface to see if request should cached or not.NTÚcacheúBaseCache | NoneÚcache_etagsÚboolÚ
serializerúSerializer | NoneÚstatus_codesúCollection[int] | Nonecó~—|€t¦«n||_||_|p
t¦«|_|pd|_dS)N)éÈéËi,rr)r	r$r&rr(Úcacheable_status_codes)Úselfr$r&r(r*s     rÚ__init__zCacheController.__init__3sC€ð%* M•Y‘[”[[°uˆŒ
Ø&ˆÔØ$Ð4­
©¬ˆŒØ&2Ð&OÐ6OˆÔ#Ð#Ð#r!rrrcó—t|¦«\}}}}}|r|std|z¦«‚| ¦«}| ¦«}|sd}|rd ||g¦«p|}|dz|z|z}|S)z4Normalize the URL to create a safe key for the cachez(Only absolute URIs are allowed. uri = %sú/ú?z://)r Ú	ExceptionÚlowerÚjoin)	ÚclsrÚschemeÚ	authorityÚpathÚqueryÚfragmentÚrequest_uriÚ
defrag_uris	         rÚ_urlnormzCacheController._urlnorm?s¢€õ6?¸s±^´^Ñ2ˆ˜D %¨Øð	N˜Yð	NÝÐFÈÑLÑMÔMÐMà—’‘”ˆØ—O’OÑ%Ô%ˆ	àð	؈DðÐ7 §¢¨$°¨Ñ 7Ô 7Ð?¸4ˆØ˜e‘^ iÑ/°+Ñ=ˆ
àÐr!có,—| |¦«S)N)r@)r8rs  rÚ	cache_urlzCacheController.cache_urlSs€à|Š|˜CÑ Ô Ð r!ÚheadersúMapping[str, str]údict[str, int | None]c
óü—tdftdftdfddddddddtdfdœ}| d| dd¦«¦«}i}| d¦«D]
}| ¦«sŒ| d	d
¦«}|d ¦«}	||\}}	n+#t$rt
 d|¦«YŒ|wxYw|r|	sd||<|r‚	||d
 ¦«¦«||<Œ³#t$r |	rt
 d
|¦«YŒÜt$r%t
 d||j	¦«YŒ	wxYwŒ|S)NTF)NF)úmax-agez	max-staleú	min-freshúno-cacheúno-storezno-transformzonly-if-cachedzmust-revalidateÚpublicÚprivatezproxy-revalidatezs-maxagez
cache-controlz
Cache-ControlÚú,ú=rrz,Ignoring unknown cache-control directive: %sz-Missing value for cache-control directive: %sz8Invalid value for cache-control directive %s, must be %s)
ÚintÚgetÚsplitÚstripÚKeyErrorÚloggerÚdebugÚ
IndexErrorÚ
ValueErrorÚ__name__)
r0rCÚknown_directivesÚ
cc_headersÚretvalÚcc_directiveÚpartsÚ	directiveÚtypÚrequireds
          rÚparse_cache_controlz#CacheController.parse_cache_controlWsì€õ˜T{ݘu˜Ý˜t˜Ø%Ø%Ø)Ø+Ø,Ø#Ø$Ø -ݘd˜ð
ð
Ðð —[’[ °'·+²+¸oÈrÑ2RÔ2RÑSÔSˆ
à(*ˆà&×,Ò,¨SÑ1Ô1ð	ñ	ˆLØ×%Ò%Ñ'Ô'ð
Øà ×&Ò& s¨AÑ.Ô.ˆEؘaœŸšÑ(Ô(ˆIð
Ø 0°Ô ;‘
XXøÝð
ð
ð
Ý—’ÐKÈYÑWÔWÐWؐð
øøøðð
)˜hð
)Ø$(yÑ!Øð
ð
Ø(+¨¨E°!¬H¯NªNÑ,<Ô,<Ñ(=Ô(=F˜9Ñ%Ð%øÝ!ðððØðÝŸšØNØ%ñôðøøõ"ðððÝ—L’LØUØ!Øœñôððñðøøøñ
ð ˆ
s*Â6CÃ%C*Ã)C*Ã9&D Ä 'E7Å	*E7Å6E7Úrequestr
úHTTPResponse | Nonecój—|j}|€J‚|j |¦«}|€t d¦«dSt|jt¦«r|j |¦«}nd}|j 	|||¦«}|€t 
d¦«|S)zO
        Load a cached response, or return None if it's not available.
        NzNo cache entry availablez1Cache entry deserialization failed, entry ignored)Úurlr$rQrUrVÚ
isinstancer
Úget_bodyr(ÚloadsÚwarning)r0rcrBÚ
cache_dataÚ	body_fileÚresults      rÚ_load_from_cachez CacheController._load_from_caches¯€ð”Kˆ	ØÐ$Ð$Ð$Ø”Z—^’^ IÑ.Ô.ˆ
ØÐÝLŠLÐ3Ñ4Ô4Ð4ؐ4åd”jÕ"7Ñ8Ô8ð	Øœ
×+Ò+¨IÑ6Ô6ˆIˆIàˆIà”×&Ò& w°
¸IÑFÔFˆØˆ>ÝNŠNÐNÑOÔOÐO؈
r!úHTTPResponse | Literal[False]cóÞ—|j€J‚| |j¦«}t d|¦«| |j¦«}d|vrt d¦«dSd|vr(|ddkrt d¦«dS| |¦«}|sdSt|j¦«tvrd	}t |¦«|St|j¦«}|rd
|vrTd|vr4t d¦«|j |¦«t d
¦«dStj
¦«}t|d
¦«}|€J‚tj|dd…¦«}	t#d||	z
¦«}
t d|
¦«| |¦«}d}| d¦«}
|
|
}t d|¦«ned|vrat|d¦«}|Jtj|dd…¦«|	z
}t#d|¦«}t d|¦«| d¦«}
|
|
}t d|¦«| d¦«}| |
|z
}
t d|
¦«||
kr8t d¦«t d||
¦«|Sd|vr4t d¦«|j |¦«dS)ze
        Return a cached response if it exists in the cache, otherwise
        return False.
        NzLooking up "%s" in the cacherIz-Request header has "no-cache", cache bypassedFrGrz1Request header has "max_age" as 0, cache bypassedzQReturning cached permanent redirect response (ignoring date and etag information)ÚdateÚetagz(Purging cached response: no date or etagz!Ignoring cached response: no daterzCurrent age based on date: %iz#Freshness lifetime from max-age: %iÚexpiresz#Freshness lifetime from expires: %iz+Freshness lifetime from request max-age: %irHz'Adjusted current age from min-fresh: %iz2The response is "fresh", returning cached responsez%i > %iz4The cached response is "stale" with no etag, purging)rfrBrUrVrbrCrnrPÚstatusÚPERMANENT_REDIRECT_STATUSESrr$ÚdeleteÚtimerÚcalendarÚtimegmÚmaxrQ)r0rcrBÚccÚrespÚmsgrCÚnowÚ
time_tuplerqÚcurrent_ageÚresp_ccÚfreshness_lifetimeÚmax_agersÚexpire_timeÚ	min_freshs                 rÚcached_requestzCacheController.cached_request¢s~€ð
Œ{Ð&Ð&Ð&Ø—N’N 7¤;Ñ/Ô/ˆ	ݏŠÐ3°YÑ?Ô?Ð?Ø
×
%Ò
% g¤oÑ
6Ô
6ˆð˜ÐÐÝLŠLÐHÑIÔIÐIؐ5à˜ˆ?ˆ?˜r )œ}°Ò1Ð1ÝLŠLÐLÑMÔMÐMؐ5ð×$Ò$ WÑ-Ô-ˆØð	ؐ5õˆtŒ{ÑÔÕ:Ð:Ð:ð7ð
õ
LŠL˜ÑÔÐ؈Kå,?ÀÄÑ,MÔ,MˆØð	˜&¨Ð/Ð/ؘWÐ$Ð$õ—’ÐGÑHÔHÐHØ”
×!Ò! )Ñ,Ô,Ð,ÝLŠLÐ<Ñ=Ô=Ð=ؐ5åŒi‰kŒkˆÝ! '¨&¤/Ñ2Ô2ˆ
ØÐ%Ð%Ð%ÝŒ˜z¨"¨1¨"œ~Ñ.Ô.ˆÝ˜!˜S 4™ZÑ(Ô(ˆÝŠÐ4°kÑBÔBÐBð×*Ò*¨7Ñ3Ô3ˆðÐð—+’+˜iÑ(Ô(ˆØÐØ!(ÐÝLŠLÐ>Ð@RÑSÔSÐSÐSð˜'Ð
!Ð
!Ý" 7¨9Ô#5Ñ6Ô6ˆGØÐ"Ý&œo¨g°b°q°b¬kÑ:Ô:¸TÑAÝ%(¨¨KÑ%8Ô%8Ð"Ý—’ÐBÐDVÑWÔWÐWð—&’&˜Ñ#Ô#ˆØÐØ!(ÐÝLŠLØ=Ð?Qñ
ô
ð
ð—F’F˜;Ñ'Ô'ˆ	ØÐ à˜9Ñ$ˆKÝLŠLÐBÀKÑPÔPÐPð Ò+Ð+ÝLŠLÐMÑNÔNÐNÝLŠL˜Ð$6¸ÑDÔDÐD؈Kð˜Ð Ð ÝLŠLÐOÑPÔPÐPØŒJ×Ò˜iÑ(Ô(Ð(ðˆur!údict[str, str]cóœ—| |¦«}i}|r2t|j¦«}d|vr|d|d<d|vr|d|d<|S)NrrÚETagz
If-None-Matchz
last-modifiedz
Last-ModifiedzIf-Modified-Since)rnrrC)r0rcr|Únew_headersrCs     rÚconditional_headersz#CacheController.conditional_headerssl€Ø×$Ò$ WÑ-Ô-ˆØˆàð	LÝ0CÀDÄLÑ0QÔ0QˆGà˜Ð Ð Ø/6°v¬˜OÑ,à 'Ð)Ð)Ø3:¸?Ô3KÐ/Ñ0àÐr!rBÚresponserÚbodyúbytes | NoneÚexpires_timeú
int | NoneÚNonecóX—t|jt¦«rX|j ||j ||d¦«|¬¦«||j ||¦«dSdS|j ||j |||¦«|¬¦«dS)z.
        Store the data in the cache.
        r!)rsN)rgr$r
Úsetr(ÚdumpsÚset_body)r0rBrcrŒrrs      rÚ
_cache_setzCacheController._cache_setsɀõd”jÕ"7Ñ8Ô8ð	ð
ŒJNŠNØØ”×%Ò% g¨x¸Ñ=Ô=Ø$ð
ñ
ô
ð
ðÐØ”
×#Ò# I¨tÑ4Ô4Ð4Ð4Ð4ð Ðð
ŒJNŠNØØ”×%Ò% g¨x¸Ñ>Ô>Ø$ð
ñ
ô
ð
ð
ð
r!có`—|p|j}|j|vr#t d|j|¦«dSt	|j¦«}d|vr6t
|d¦«}|€J‚tj|dd…¦«}nd}|Fd|vrB|d 	¦«r(t|d¦«t|¦«krdS| |j¦«}	| |¦«}
|j
€J‚| |j
¦«}t d|¦«d}d	|
vrd
}t d¦«d	|	vrd
}t d¦«|rN|j |¦«r4t d
¦«|j |¦«|rdSd| dd¦«vrt d¦«dS|jr´d|vr°d}
| d¦«r6t
|d¦«}|tj|dd…¦«|z
}
t'|
d¦«}
t d|
›d¦«t d¦«| |||||
¦«dSt|j¦«t*vr4t d¦«| |||d¦«dSd|vrt
|d¦«}|€J‚tj|dd…¦«}|
 d¦«}|=|dkr7t d¦«|}
| |||||
¦«dSd|vr‹|dr…t
|d¦«}| tj|dd…¦«|z
}
nd}
t d |
¦«¦«| |||||
¦«dSdSdSdS)zc
        Algorithm for caching requests.

        This assumes a requests Response object.
        zStatus code %s not in %sNrqrrúcontent-lengthz&Updating cache with response from "%s"FrJTzResponse header has "no-store"zRequest header has "no-store"z0Purging existing cache entry to honor "no-store"Ú*ÚvaryrMzResponse header has "Vary: *"rrrsiuzetag object cached for z secondszCaching due to etagzCaching permanent redirectr!rGz'Caching b/c date exists and max-age > 0z4Caching b/c of expires header. expires in {} seconds)r/rtrUrVrrCrrxryÚisdigitrPÚlenrbrfrBr$rQrvr&rzr–ruÚformat)r0rcrŒrr*r/Úresponse_headersrrqÚcc_reqr{rBÚno_storerrsrƒs                rÚcache_responsezCacheController.cache_response=s»€ð".Ð!L°Ô1LÐØŒ?Ð"8Ð8Ð8ÝLŠLØ*¨H¬OÐ=Sñ
ô
ð
ð
ˆFå5HØÔñ6
ô6
ÐðÐ%Ð%Ð%Ý%Ð&6°vÔ&>Ñ?Ô?ˆJØÐ)Ð)Ð)Ý”? :¨b¨q¨b¤>Ñ2Ô2ˆDˆDàˆDð
ÐØ Ð$4Ð4Ð4Ø Ð!1Ô2×:Ò:Ñ<Ô<ð5åÐ$Ð%5Ô6Ñ7Ô7½3¸t¹9¼9ÒDÐDàˆFà×)Ò)¨'¬/Ñ:Ô:ˆØ
×
%Ò
%Ð&6Ñ
7Ô
7ˆàŒ{Ð&Ð&Ð&Ø—N’N 7¤;Ñ/Ô/ˆ	ݏŠÐ=¸yÑIÔIÐIðˆØ˜ÐÐØˆHÝLŠLÐ9Ñ:Ô:Ð:ؘÐÐØˆHÝLŠLÐ8Ñ9Ô9Ð9Øð	)˜œ
Ÿš yÑ1Ô1ð	)ÝLŠLÐKÑLÔLÐLØŒJ×Ò˜iÑ(Ô(Ð(Øð	ØˆFðÐ"×&Ò& v¨rÑ2Ô2Ð2Ð2ÝLŠLÐ8Ñ9Ô9Ð9ØˆFðÔð<	 Ð*:Ð :Ð :؈LØ×#Ò# IÑ.Ô.ð
GÝ&Ð'7¸	Ô'BÑCÔCØÐ&Ý#+¤?°7¸2¸A¸2´;Ñ#?Ô#?À$Ñ#FLå˜|¨ZÑ8Ô8ˆLåLŠLÐI°<ÐIÐIÐIÑJÔJÐJÝLŠLÐ.Ñ/Ô/Ð/ØOŠO˜I w°¸$ÀÑMÔMÐMÐMÐMõ”Ñ
!Ô
!Õ%@Ð
@Ð
@ÝLŠLÐ5Ñ6Ô6Ð6ØOŠO˜I w°¸#Ñ>Ô>Ð>Ð>Ð>ð
Ð'Ð
'Ñ
'Ý%Ð&6°vÔ&>Ñ?Ô?ˆJØÐ)Ð)Ð)Ý”? :¨b¨q¨b¤>Ñ2Ô2ˆDà—f’f˜YÑ'Ô'ˆGØÐ" w°¢{ {Ý—’ÐFÑGÔGÐGØ&Ø—’ØØØØØ ñôððððÐ.Ð.Ð.Ø# IÔ.ðÝ*Ð+;¸IÔ+FÑGÔGGØÐ*Ý'/¤°w¸rÀ¸r´{Ñ'CÔ'CÀdÑ'J˜˜à'+˜å—L’LØN×UÒUØ(ñôñôðð
—O’OØ!ØØ ØØ$ñôððððA(Ð
'ð&/Ð.ððr!có<‡—|j€J‚| |j¦«}| |¦«}|s|SdgŠ|j ˆfd„|j ¦«D¦«¦«d|_| |||¦«|S)zéOn a 304 we will get a new set of headers that we want to
        update our cached value with, assuming we have one.

        This should only ever be called when we've sent an ETag and
        gotten a 304 as the response.
        Nr˜cóH•—i|]\}}| ¦«‰v¯||“ŒS©)r6)Ú.0ÚkÚvÚexcluded_headerss   €rú
<dictcomp>z:CacheController.update_cached_response.<locals>.<dictcomp>ás=ø€ð
ð
ð
áAqØ—7’7‘9”9Ð$4Ð4Ð4ð1à4Ð4Ð4r!r-)rfrBrnrCÚupdateÚitemsrtr–)r0rcrŒrBÚcached_responser¨s     @rÚupdate_cached_responsez&CacheController.update_cached_responseÆsÉø€ðŒ{Ð&Ð&Ð&Ø—N’N 7¤;Ñ/Ô/ˆ	Ø×/Ò/°Ñ8Ô8ˆàð	àˆOð-Ð-ÐàÔ×&Ò&ð
ð
ð
ð
à$Ô,×2Ò2Ñ4Ô4ð
ñ
ô
ñ	
ô	
ð	
ð"%ˆÔð	
Š˜	 7¨OÑ<Ô<Ð<àÐr!)NTNN)r$r%r&r'r(r)r*r+)rrrr)rCrDrrE)rcr
rrd)rcr
rro)rcr
rr‡)NN)rBrrcr
rŒrrrŽrrrr‘)
rcr
rŒrrrŽr*r+rr‘)rcr
rŒrrr)rYÚ
__module__Ú__qualname__Ú__doc__r1Úclassmethodr@rBrbrnr†r‹r–r¡r­r¤r!rr#r#0s9€€€€€Ø>Ð>ð#'Ø Ø(,Ø/3ð
Pð
Pð
Pð
Pð
Pððððñ„[ðð&ð!ð!ð!ñ„[ð!ð4ð4ð4ð4ðlðððð*lðlðlðlð\
ð
ð
ð
ð("Ø#'ð
ðððððD"Ø/3ðGðGðGðGðGðR(ð(ð(ð(ð(ð(r!r#)rrrr)"r°Ú
__future__rrxÚloggingÚrerwÚemail.utilsrÚtypingrrrÚrequests.structuresrÚcachecontrol.cacher	r
Úcachecontrol.serializerrÚrequestsr
Úurllib3rrÚ	getLoggerrYrUÚcompilerrur r#r¤r!rú<module>r¾sðð
ðð#Ð"Ð"Ð"Ð"Ð"à€€€Ø€€€Ø	€	€	€	Ø€€€Ø$Ð$Ð$Ð$Ð$Ð$Ø5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5à3Ð3Ð3Ð3Ð3Ð3à?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ø-Ð-Ð-Ð-Ð-Ð-àð-ØÐÐÐÐÐà(Ð(Ð(Ð(Ð(Ð(Ø$Ð$Ð$Ð$Ð$Ð$à,Ð,Ð,Ð,Ð,Ð,à	ˆÔ	˜8Ñ	$Ô	$€à€b„jÐMÑNÔN€à(ÐðCðCðCðCð~ð~ð~ð~ð~ñ~ô~ð~ð~ð~r!