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

Ë
MÀjãóØ—ddlmZddlZddlZddlmZmZmZddlmZm Z m
Z
ddl m Z m
Z
mZe rddlmZdZddd„Zdd „ZGd
„d «ZGd „d
e«ZGd„de«ZGd„de«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óZ—ttj|j«««Sr)rÚcalendarÚtimegmÚ timetuple)Údts rÚdatetime_to_headerrs€Ü ”h—o‘o b§l¡l£nÓ5Ó 6Ð6rcó$—eZdZdd„Zdd„Zdd„Zy)Ú
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)NÚWarning)r&ÚheadersÚupdater$)r"r#Úupdated_headersÚwarning_header_values rÚapplyzBaseHeuristic.apply0s]€Ø×-Ñ-¨hÓ7ˆá Ø × Ñ × #Ñ # OÔ 4Ø#'§<¡<°Ó#9Ð Ø#Ð/Ø× Ñ ×'Ñ'¨Ð4HÐ(IÔJàˆrN©r#r
Úreturnú
str | None©r#r
r/údict[str, str])r#r
r/r
)Ú__name__Ú
__module__Ú __qualname__r$r&r-r rrrrs„ó +óô rrcó—eZdZdZdd„Zy)Ú 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)
NÚexpiresré)ÚdayséÚtzinfo)rÚpublicú
cache-control)r)rrrrrrr)r"r#r)rr9s rr&zOneDayCache.update_headersBss€Øˆà ˜H×,Ñ,Ñ ,ܘX×-Ñ-¨fÑ5Ó6ˆDÜ"ܘqÔ!ܘt B Q˜xÐ=´· ± Ñ=ôˆGô"4°GÓ!<ˆG�IÑ Ø'/ˆG�OÑ $؈rNr1)r3r4r5Ú__doc__r&r rrr7r7<s „ñô
rr7có(—eZdZdZdd„Zdd„Zdd„Zy) Ú ExpiresAfterz;
Cache **all** requests for a defined time period.
c ó$—tdi|¤Ž|_y)Nr )rr)r"Úkws rÚ__init__zExpiresAfter.__init__Us€Ü‘_ ‘_ˆ�
rcóH—t|j«}t|«ddœS)Nr>)r9r?)rrr)r"r#r9s rr&zExpiresAfter.update_headersXs €Ü˜tŸz™zÓ*ˆÜ-¨gÓ6ÈÑRÐRrcó$—d}||jzS)Nz:110 - Automatically cached for %s. Response might be stale)r)r"r#Útmpls rr$zExpiresAfter.warning\s€ØKˆØ�d—j‘jÑ Ð rN)rDr r/ÚNoner1r.)r3r4r5r@rEr&r$r rrrBrBPs„ñó%óSô!rrBcó(—eZdZdZhd£Zdd„Zdd„Zy)Ú 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«}|€J‚t j
|dd«}t
|d«}|€iStj«}td||z
«}|t j
|«z
}tdt|dz d ««} | |kriS|| z}