����JFIF���������
1#@!#!123s
D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
lib
/
python2.7
/
site-packages
/
pip
/
_vendor
/
cachecontrol
/
Filename :
heuristics.pyo
back
Copy
� ��abc�����������@���s����d��d�l��Z��d��d�l�Z�d��d�l�m�Z�m�Z�m�Z�d��d�l�m�Z�m�Z�d�Z�d�d���Z �d����Z�d�e�f�d�������YZ �d �e �f�d �������YZ�d�e �f�d�������YZ�d �e �f�d�������YZ�d�S(���i����N(���t ���formatdatet ���parsedatet���parsedate_tz(���t���datetimet ���timedeltas���%a, %d %b %Y %H:%M:%S GMTc���������C���s���|�p�t��j����}�|�|��S(���N(���R���t���now(���t���deltat���date(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyt���expire_after���s����c���������C���s���t��t�j�|��j��������S(���N(���R����t���calendart���timegmt ���timetuple(���t���dt(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyt���datetime_to_header���s����t ���BaseHeuristicc�����������B���s#���e��Z�d�����Z�d����Z�d����Z�RS(���c���������C���s���d�S(���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. s���110 - "Response is Stale"(����(���t���selft���response(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyt���warning���s���� c���������C���s���i��S(���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. (����(���R���R���(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyt���update_headers!���s����c���������C���sa���|��j��|���}�|�r]�|�j�j�|���|��j�|���}�|�d��k �r]�|�j�j�i�|�d�6��q]�n��|�S(���Nt���Warning(���R���t���headerst���updateR���t���None(���R���R���t���updated_headerst���warning_header_value(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyt���apply*���s����(���t���__name__t ���__module__R���R���R���(����(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyR������s��� t���OneDayCachec�����������B���s���e��Z�d��Z�d����Z�RS(���sM��� Cache the response by providing an expires 1 day in the future. c���������C���sn���i��}�d�|�j��k�rj�t�|�j��d���}�t�t�d�d���d�t�|�d� ����}�t�|���|�d�<d�|�d�<n��|�S(���Nt���expiresR���t���daysi���i���t���publics ���cache-control(���R���R���R���R���R���R ���(���R���R���R���R���R���(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyR���;���s���� (���R���R���t���__doc__R���(����(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyR���6���s���t���ExpiresAfterc�����������B���s)���e��Z�d��Z�d����Z�d����Z�d����Z�RS(���s;��� Cache **all** requests for a defined time period. c���������K���s���t��|����|��_�d��S(���N(���R���R���(���R���t���kw(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyt���__init__L���s����c���������C���s'���t��|��j���}�i�t�|���d�6d�d�6S(���NR���R���s ���cache-control(���R���R���R ���(���R���R���R���(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyR���O���s���� c���������C���s���d�}�|�|��j��S(���Ns:���110 - Automatically cached for %s. Response might be stale(���R���(���R���R���t���tmpl(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyR���V���s����(���R���R���R ���R#���R���R���(����(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyR!���G���s��� t���LastModifiedc�����������B���sM���e��Z�d��Z�e�d�d�d�d�d�d�d�d�d �d �d�g���Z�d����Z�d ����Z�RS(���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��� ������C���s8��|�j��}�d�|�k�r�i��Sd�|�k�r9�|�d�d�k�r9�i��S|�j�|��j�k�rO�i��Sd�|�k�sg�d�|�k�rk�i��St�j�t�|�d�����}�t�|�d���}�|�d��k�s��|�d��k�r��i��St�j����}�t �d�|�|���}�|�t�j�|���}�t �d�t �|�d�d �����}�|�|�k�ri��S|�|�} �i�t�j�t�t�j �| �����d�6S(���NR���s ���cache-controlR���R���s ���last-modifiedi����i ���i���i��i�Q�(���R���t���statust���cacheable_by_default_statusesR ���R ���R���R���R���t���timet���maxt���mint���strftimet���TIME_FMTt���gmtime( ���R���t���respR���R���t ���last_modifiedR���t���current_ageR���t���freshness_lifetimeR���(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyR���k���s*���� c���������C���s���d��S(���N(���R���(���R���R.���(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyR�������s����(���R���R���R ���t���setR'���R���R���(����(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyR%���[���s ���* (���R ���R(���t���email.utilsR����R���R���R���R���R,���R���R���R ���t���objectR���R���R!���R%���(����(����(����sG���/usr/lib/python2.7/site-packages/pip/_vendor/cachecontrol/heuristics.pyt���<module>���s��� "