관리-도구
편집 파일: adapter.cpython-39.pyc
a ��Re � @ s\ d dl Z d dlZd dlZd dlmZ ddlmZ ddlmZ ddl m Z G dd� de�ZdS ) � N)�HTTPAdapter� )�CacheController)� DictCache)�CallbackFileWrapperc sN e Zd ZddhZd� fdd� Zd� fdd� Zd� fd d� Z� fdd �Z� ZS )�CacheControlAdapter�PUT�DELETENTc sX t t| �j|i |�� |d u r$t� n|| _|| _|p6d| _|p@t} | | j||d�| _d S )N)�GET)�cache_etags� serializer) �superr �__init__r �cache� heuristic�cacheable_methodsr � controller) �selfr r �controller_classr r r �args�kw�controller_factory�� __class__� ��/builddir/build/BUILDROOT/alt-python39-pip-21.3.1-2.el8.x86_64/opt/alt/python39/lib/python3.9/site-packages/pip/_vendor/cachecontrol/adapter.pyr s �zCacheControlAdapter.__init__c s� |p| j }|j|v rfz| j�|�}W n tjy< d}Y n0 |rR| j||dd�S |j�| j� |�� t t| �j|fi |��}|S )z� Send a request. Use the request information to see if it exists in the cache and cache the response if we need to and can. NT)� from_cache) r �methodr �cached_request�zlib�error�build_response�headers�update�conditional_headersr r �send)r �requestr r � cacheable�cached_response�respr r r r% $ s zCacheControlAdapter.sendFc s |p| j }|s�|j|v r�| jr*| j�|�}|jdkrh| j�||�}||urNd}|jdd� |�� |}n\|jdkr�| j� ||� nBt |jt� | jj ||��|_|jr�|j� � fdd�}t�||�|_tt| ��||�}|j| jv �r|j�r| j�|j�} | j�| � ||_|S )z� Build a response by making a request or using the cache. This will end up calling send and returning a potentially cached response i0 TF)�decode_contenti- c s � � | j dkr| j�� d S )Nr )� chunk_left�_fp�_close�r ��super_update_chunk_lengthr r �_update_chunk_lengthn s z@CacheControlAdapter.build_response.<locals>._update_chunk_length)r r r �apply�statusr �update_cached_response�read�release_conn�cache_responser r, � functools�partial�chunkedr1 �types� MethodTyper r r! �invalidating_methods�ok� cache_url�urlr �deleter ) r r&