File: //opt/python38/lib/python3.8/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-38.pyc
U
�{�e# � @ s| d dl mZ d dlZddlmZ ddlmZ ddlmZ dgZ G dd� de
�ZejsxG d d
� d
ej
e j�Zeej
e _dS )� )�absolute_importN� )�encode_multipart_formdata)�six)� urlencode�RequestMethodsc @ sN e Zd ZdZddddhZddd�Zdd
d�Zddd
�Zddd�Zddd�Z dS )r a�
Convenience mixin for classes who implement a :meth:`urlopen` method, such
as :class:`urllib3.HTTPConnectionPool` and
:class:`urllib3.PoolManager`.
Provides behavior for making common types of HTTP request methods and
decides which type of request field encoding to use.
Specifically,
:meth:`.request_encode_url` is for sending requests whose fields are
encoded in the URL (such as GET, HEAD, DELETE).
:meth:`.request_encode_body` is for sending requests whose fields are
encoded in the *body* of the request using multipart or www-form-urlencoded
(such as for POST, PUT, PATCH).
:meth:`.request` is for making any kind of request, it will look up the
appropriate encoding format and use one of the above two methods to make
the request.
Initializer parameters:
:param headers:
Headers to include with all requests, unless other headers are given
explicitly.
�DELETE�GET�HEAD�OPTIONSNc C s |pi | _ d S )N)�headers)�selfr � r �?/tmp/pip-unpacked-wheel-_0scjqea/pip/_vendor/urllib3/request.py�__init__+ s zRequestMethods.__init__Tc K s t d��d S )NzMClasses extending RequestMethods must implement their own ``urlopen`` method.)�NotImplementedError)r
�method�url�bodyr �encode_multipart�multipart_boundary�kwr r r �urlopen. s
�zRequestMethods.urlopenc K sR |� � }||d<