File: //usr/local/lib/python3.7/site-packages/urllib3/__pycache__/fields.cpython-37.pyc
B
���g+ � @ s� d dl mZ d dlZd dlZd dlZejeef Z eje ej
ee f ej
ee ef f Zddddd�dd�Zdd dd
�dd�Z
dd dd
�d
d�Zdd dd
�dd�Zdd dd
�dd�ZG dd� d�ZdS )� )�annotationsN�application/octet-streamz
str | None�str)�filename�default�returnc C s | rt �| �d p|S |S )z�
Guess the "Content-Type" of a file.
:param filename:
The filename to guess the "Content-Type" of using :mod:`mimetypes`.
:param default:
If no "Content-Type" can be guessed, default to `default`.
r )� mimetypes�
guess_type)r r � r
�8/usr/local/lib/python3.7/site-packages/urllib3/fields.py�guess_content_type s r �_TYPE_FIELD_VALUE)�name�valuer c s� ddl }|jdtdd� t� t�r,� �d�� t� fdd�d D ��s~| � d
� � d�}y|�d� W n tt fk
rx Y nX |S t
j�� d�� | � d
� � �� � S )a�
Helper function to format and quote a single header parameter using the
strategy defined in RFC 2231.
Particularly useful for header parameters which might contain
non-ASCII values, like file names. This follows
`RFC 2388 Section 4.4 <https://tools.ietf.org/html/rfc2388#section-4.4>`_.
:param name:
The name of the parameter, a string expected to be ASCII only.
:param value:
The value of the parameter, provided as ``bytes`` or `str``.
:returns:
An RFC-2231-formatted unicode string.
.. deprecated:: 2.0.0
Will be removed in urllib3 v2.1.0. This is not valid for
``multipart/form-data`` header parameters.
r Nz�'format_header_param_rfc2231' is deprecated and will be removed in urllib3 v2.1.0. This is not valid for multipart/form-data header parameters.� )�
stacklevelzutf-8c 3 s | ]}|� kV qd S )Nr
)�.0�ch)r r
r � <genexpr>@ s z.format_header_param_rfc2231.<locals>.<genexpr>z"\
z="�"�asciiz*=)
�warnings�warn�DeprecationWarning�
isinstance�bytes�decode�any�encode�UnicodeEncodeError�UnicodeDecodeError�email�utils�encode_rfc2231)r r r �resultr
)r r �format_header_param_rfc2231 s"