File: //usr/lib/python3/dist-packages/requests/__pycache__/cookies.cpython-310.pyc
o
    Ba�_�G  �                   @   s�   d Z ddlZddlZddlZddlmZ ddlmZmZm	Z	m
Z
mZ zddlZW n
 e
y5   ddlZY nw G dd� de�ZG dd	� d	e�Zd
d� Zdd
� Zddd�ZG dd� de�ZG dd� deje�Zdd� Zdd� Zdd� Zd dd�Zdd� ZdS )!z�
requests.cookies
~~~~~~~~~~~~~~~~
Compatibility code to be able to use `cookielib.CookieJar` with requests.
requests.utils imports from here, so be careful with imports.
�    N�   )�to_native_string)�	cookielib�urlparse�
urlunparse�Morsel�MutableMappingc                   @   s�   e Zd ZdZdd� Zdd� Zdd� Zdd	� Zd
d� Zdd
� Z	dd� Z
ddd�Zdd� Zdd� Z
dd� Zedd� �Zedd� �Zedd� �ZdS ) �MockRequesta�  Wraps a `requests.Request` to mimic a `urllib2.Request`.
    The code in `cookielib.CookieJar` expects this interface in order to correctly
    manage cookie policies, i.e., determine whether a cookie can be set, given the
    domains of the request and the cookie.
    The original request object is read-only. The client is responsible for collecting
    the new headers via `get_new_headers()` and interpreting them appropriately. You
    probably want `get_cookie_header`, defined below.
    c                 C   s    || _ i | _t| j j�j| _d S �N)�_r�_new_headersr   �url�scheme�type)�self�request� r   �2/usr/lib/python3/dist-packages/requests/cookies.py�__init__%   s   zMockRequest.__init__c                 C   �   | j S r
   )r   �r   r   r   r   �get_type*   �   zMockRequest.get_typec                 C   s   t | jj�jS r
   )r   r   r
   �netlocr   r   r   r   �get_host-   �   zMockRequest.get_hostc                 C   �   | � � S r
   �r   r   r   r   r   �get_origin_req_host0   s   zMockRequest.get_origin_req_hostc                 C   sT   | j j�d�s| j jS t| j jd dd�}t| j j�}t|j||j|j	|j
|jg�S )N�Hostzutf-8)�encoding)r   �headers�getr
   r   r   r   r   �path�params�query�fragment)r   �host�parsedr   r   r   �get_full_url3   s   �zMockRequest.get_full_urlc                 C   s   dS �NTr   r   r   r   r   �is_unverifiableA   s   zMockRequest.is_unverifiablec                 C   s   || j jv p
|| jv S r
   )r   r!   r   �r   �namer   r   r   �
has_headerD   s   zMockRequest.has_headerNc                 C   s   | j j�|| j�||��S r
   )r   r!   r"