File: //lib64/python3.9/urllib/__pycache__/response.cpython-39.opt-1.pyc
a
    �DOg9	  �                   @   sZ   d Z ddlZg d�ZG dd� dej�ZG dd� de�ZG dd	� d	e�ZG d
d� de�ZdS )a  Response classes used by urllib.
The base class, addbase, defines a minimal file-like interface,
including read() and readline().  The typical response object is an
addinfourl instance, which defines an info() method that returns
headers and a geturl() method that returns the url.
�    N)�addbase�addclosehook�addinfo�
addinfourlc                       s8   e Zd ZdZ� fdd�Zdd� Zdd� Zdd	� Z�  ZS )
r   zOBase class for addinfo and addclosehook. Is a good idea for garbage collection.c                    s    t t| �j|ddd� || _d S )Nz<urllib response>F)�delete)�superr   �__init__�fp)�selfr	   ��	__class__� �'/usr/lib64/python3.9/urllib/response.pyr      s    zaddbase.__init__c                 C   s   d| j jt| �| jf S )Nz<%s at %r whose fp = %r>)r   �__name__�id�file�r
   r
   r
   r   �__repr__   s    
�zaddbase.__repr__c                 C   s   | j jrtd��| S )NzI/O operation on closed file)r	   �closed�
ValueErrorr   r
   r
   r   �	__enter__   s    zaddbase.__enter__c                 C   s   | � �  d S �N)�close)r
   �type�value�	tracebackr
   r
   r   �__exit__!   s    zaddbase.__exit__)	r   �
__module__�__qualname__�__doc__r   r   r   r   �
__classcell__r
   r
   r   r   r      s
   r   c                       s,   e Zd ZdZ� fdd�Z� fdd�Z�  ZS )r   z*Class to add a close hook to an open file.c                    s    t t| ��|� || _|| _d S r   )r   r   r   �	closehook�hookargs)r
   r	   r!   r"