File: //usr/lib/python3/dist-packages/urllib3/__pycache__/response.cpython-310.pyc
o
    ��Yhn  �                   @   sP  d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ	 d dlm
Z zd dlZW n e
y5   dZY nw ddlmZ ddlmZmZ dd	lmZmZmZmZmZmZmZmZmZmZ d dlZdd
lm Z m!Z! e�"e#�Z$G dd� de%�Z&G d
d� de%�Z'G dd� de%�Z(edur�G dd� de%�Z)G dd� de%�Z*dd� Z+G dd� dej,�Z-dS )�    )�absolute_importN)�contextmanager)�error)�timeout�   )�HTTPHeaderDict)�BaseSSLError�
HTTPException)
�BodyNotHttplibCompatible�DecodeError�	HTTPError�IncompleteRead�InvalidChunkLength�
InvalidHeader�
ProtocolError�ReadTimeoutError�ResponseNotChunked�SSLError)�is_fp_closed�is_response_to_headc                   @   �$   e Zd Zdd� Zdd� Zdd� ZdS )�DeflateDecoderc                 C   s   d| _ d| _t�� | _d S )NT�    )�
_first_try�_data�zlib�
decompressobj�_obj��self� r    �2/usr/lib/python3/dist-packages/urllib3/response.py�__init__$   s   zDeflateDecoder.__init__c                 C   �   t | j|�S �N��getattrr   �r   �namer    r    r!   �__getattr__)   �   zDeflateDecoder.__getattr__c                 C   s�   |s|S | j s
| j�|�S |  j|7  _z| j�|�}|r#d| _ d | _|W S  tjyI   d| _ t�tj �| _z| �| j�W d | _ Y S d | _w w )NF)r   r   �
decompressr   r   r   r   �	MAX_WBITS)r   �data�decompressedr    r    r!   r+   ,   s$   �zDeflateDecoder.decompressN��__name__�
__module__�__qualname__r"