Files
intellecton/venv/lib/python3.12/site-packages/cachecontrol/__pycache__/heuristics.cpython-312.pyc
T

55 lines
6.5 KiB
Plaintext
Raw Normal View History

Ë
jãóØddlmZddlZddlZddlmZmZmZddlmZm Z m
Z
ddl m Z m
Z
mZe rddlmZdZdddZdd „ZGd
d «ZGd d
e«ZGdde«ZGdde«Zy)é)Ú annotationsN)ÚdatetimeÚ timedeltaÚtimezone)Ú
formatdateÚ parsedateÚ parsedate_tz)Ú
TYPE_CHECKINGÚAnyÚMapping)Ú HTTPResponsez%a, %d %b %Y %H:%M:%S GMTcóZ|xs#tjtj«}||zS©N)rÚnowrÚutc)ÚdeltaÚdates úZ/home/antigravity/intellecton/venv/lib/python3.12/site-packages/cachecontrol/heuristics.pyÚ expire_afterrs#Ø Ò -”8—<§ ¡ Ó-€DØ %‰<ÐócóZttj|j«««Sr)rÚcalendarÚtimegmÚ timetuple)Údts rÚdatetime_to_headerrsÜ ”h—oo b§l¡l£nÓ 6rcó$eZdZddZddZddZy)Ú
BaseHeuristiccóy)a!
Return a valid 1xx warning header value describing the cache
adjustments.
The response is provided too allow warnings like 113
http://tools.ietf.org/html/rfc7234#section-5.5.4 where we need
to explicitly say response is over 24 hours old.
z110 - "Response is Stale"©©ÚselfÚresponses rÚwarningzBaseHeuristic.warningsð+rcóiS)zïUpdate the response headers with any new headers.
NOTE: This SHOULD always include some Warning header to
signify that the response was cached by the client, not
by way of the provided headers.
r r!s rÚupdate_headerszBaseHeuristic.update_headers's ðˆ rcóÂ|j|«}|rK|jj|«|j|«}||jjd|i«|S)Warning)r&ÚheadersÚupdater$)r"r#Úupdated_headersÚwarning_header_values rÚapplyzBaseHeuristic.apply0s]Ø×-¨hÓá Ø × Ñ × #  4Ø#'§<¡<°Ó#9Ð Ø× Ñ ×Ð4HÐ(IÔˆrr#r
Úreturnú
str | None©r#r
r/údict[str, str])r#r
r/r
)Ú__name__Ú
__module__Ú __qualname__r$r&r-r rrrrsó ô rrcóeZdZdZddZy)Ú OneDayCachezM
Cache the response by providing an expires 1 day in the
future.
cóÞi}d|jvr\t|jd«}ttd¬«t |dddt
j iެ«}t|«|d<d|d <|S)
expiresré)ÚdayséÚtzinfo)rÚpublicú
cache-control)r)rrrrrrr)r"r#r)rr9s rr&zOneDayCache.update_headersBssØˆà ˜H× ˜X×-¨fÑ6ˆ˜˜t B Q˜xз ± ш"4°GÓ!<ˆG Ø'/ˆG ˆrNr1)r3r4r5Ú__doc__r&r rrr7r7<s ñô
rr7có(eZdZdZddZddZddZy) Ú ExpiresAfterz;
Cache **all** requests for a defined time period.
c ó$tdi|¤Ž|_y)Nr )rr)r"Úkws rÚ__init__zExpiresAfter.__init__UsÜ_ 
rcóHt|j«}t|«ddœS)Nr>)r9r?)rrr)r"r#r9s rr&zExpiresAfter.update_headersXs ܘtŸz™zÓÜ-¨gÓÑRrcó$d}||jzS)Nz:110 - Automatically cached for %s. Response might be stale)r)r"r#Útmpls rr$zExpiresAfter.warning\sØKˆØd—j Ð rN)rDr r/ÚNoner1r.)r3r4r5r@rEr&r$r rrrBrBPsñóSô!rrBcó(eZdZdZhd£ZddZddZy)Ú LastModifiedaÁ
If there is no Expires header already, fall back on Last-Modified
using the heuristic from
http://tools.ietf.org/html/rfc7234#section-4.2.2
to calculate a reasonable value.
Firefox also does something like this per
https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching_FAQ
http://lxr.mozilla.org/mozilla-release/source/netwerk/protocol/http/nsHttpResponseHead.cpp#397
Unlike mozilla we limit this to 24-hr.
> é,é-é”é•éšéžéõéÈéËéÌéÎcó |j}d|vriSd|vr
|ddk7riS|j|jvriSd|vsd|vriSt|d«}|Jt j
|dd«}t
|d«}|iStj«}td||z
«}|t j
|«z
}tdt|dz d ««} | |kriS|| z}