XylotrechusZ
U
��.e�G � @ s� d Z ddlZddlZddlZddlmZ ddlmZmZm Z m
Z
mZ zddlZW n e
k
rl ddlZY nX 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 �@/usr/lib/python3.8/site-packages/pip/_vendor/requests/cookies.py�__init__% s zMockRequest.__init__c C s | j S r
)r �r r r r �get_type* s zMockRequest.get_typec C s t | jj�jS r
)r r r
Znetlocr r r r �get_host- s zMockRequest.get_hostc C s | � � 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 )NZHostzutf-8)�encoding)r �headers�getr
r r r r �pathZparamsZqueryZfragment)r �hostZparsedr 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 jkp|| jkS r
)r r r �r �namer r r �
has_headerD s zMockRequest.has_headerNc C s | j j�|| j�||��S r
)r r r r )r r# �defaultr r r �
get_headerG s zMockRequest.get_headerc C s t d��dS )zMcookielib has no legitimate use for this method; add it back if you find one.z=Cookie headers should be added with add_unredirected_header()N)�NotImplementedError)r �key�valr r r �
add_headerJ s zMockRequest.add_headerc C s || j |<