Your IP : 3.12.147.12


Current Path : /opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/
Upload File :
Current File : //opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyc

�
�Rec@s�ddlZddlZddlmZmZmZddlmZmZdZdd�Z
d�Zdefd��YZ
d	e
fd
��YZde
fd��YZd
e
fd��YZdS(i����N(t
formatdatet	parsedatetparsedate_tz(tdatetimet	timedeltas%a, %d %b %Y %H:%M:%S GMTcCs|ptj�}||S(N(Rtutcnow(tdeltatdate((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pytexpire_afterscCsttj|j���S(N(Rtcalendarttimegmt	timetuple(tdt((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pytdatetime_to_headerst
BaseHeuristiccBs#eZd�Zd�Zd�ZRS(cCsdS(s!
        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.
        s110 - "Response is Stale"((tselftresponse((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pytwarnings	cCsiS(s�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.
        ((RR((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pytupdate_headers!scCsa|j|�}|r]|jj|�|j|�}|dk	r]|jji|d6�q]n|S(NtWarning(RtheaderstupdateRtNone(RRtupdated_headerstwarning_header_value((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pytapply*s(t__name__t
__module__RRR(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyRs			tOneDayCachecBseZdZd�ZRS(sM
    Cache the response by providing an expires 1 day in the
    future.
    cCsni}d|jkrjt|jd�}ttdd�dt|d ��}t|�|d<d|d<n|S(NtexpiresRtdaysiitpublics
cache-control(RRRRRR
(RRRRR((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyR<s%
(RRt__doc__R(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyR6stExpiresAftercBs)eZdZd�Zd�Zd�ZRS(s;
    Cache **all** requests for a defined time period.
    cKst|�|_dS(N(RR(Rtkw((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyt__init__LscCs't|j�}it|�d6dd6S(NRRs
cache-control(RRR
(RRR((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyROscCsd}||jS(Ns:110 - Automatically cached for %s. Response might be stale(R(RRttmpl((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyRSs(RRR R#RR(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyR!Gs		tLastModifiedcBsGeZdZddddddddd	d
dhZd�Zd
�ZRS(s�
    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.
    i�i�i�i�i,i-i�i�i�i�i�c
Cs8|j}d|kriSd|kr9|ddkr9iS|j|jkrOiSd|ksgd|krkiStjt|d��}t|d�}|dks�|dkr�iStj�}t	d||�}|tj|�}t	dt
|dd
��}||kriS||}	itjttj
|	��d6S(NRs
cache-controlRRs
last-modifiedii
iii�Q(Rtstatustcacheable_by_default_statusesR	R
RRRttimetmaxtmintstrftimetTIME_FMTtgmtime(
RtrespRRt
last_modifiedtnowtcurrent_ageRtfreshness_lifetimeR((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyRhs*	
cCsdS(N(R(RR.((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyR�s(RRR R'RR(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyR%Xs'	(R	R(temail.utilsRRRRRR,RRR
tobjectRRR!R%(((s�/builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyt<module>s	"

?>