관리-도구
편집 파일: adapter.cpython-310.pyc
o ƚRe � @ s\ d dl Z d dlZd dlZd dlmZ ddlmZ ddlmZ ddl m Z G dd� de�ZdS ) � N)�HTTPAdapter� )�CacheController)� DictCache)�CallbackFileWrapperc s\ e Zd ZddhZ d� fdd� Zd� fdd� Z d� fd d� Z� fdd �Z� ZS )�CacheControlAdapter�PUT�DELETENTc sX t t| �j|i |�� |d u rt� n|| _|| _|pd| _|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-python310-pip-21.3.1-3.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_vendor/cachecontrol/adapter.pyr s �zCacheControlAdapter.__init__c s� |p| j }|j|v r3z| j�|�}W n tjy d}Y nw |r)| 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 }|sb|j|v rb| jr| j�|�}|jdkr4| j�||�}||ur'd}|jdd� |�� |}n.|jdkrA| j� ||� n!t |jt� | jj ||��|_|jrb|j� � fdd�}t�||�|_tt| ��||�}|j| jv r�|jr�| 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"