File: //lib/python3/dist-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-310.pyc
o
@%Ne�! � @ s� d dl mZ d dlZd dlZd dlZddlmZ ddd�Zdd � Z d
dd�Z
e
�d
d� ed d�D �� dd� Z
dd� ZeZG dd� de�ZdS )� )�absolute_importN� )�six�application/octet-streamc 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)�filename�default� r
�</usr/lib/python3/dist-packages/pip/_vendor/urllib3/fields.py�guess_content_type
s r c s� t � tj�r� �d�� t� fdd�dD ��s0d| � f }z|�d� W |S ttfy/ Y nw tjr8� �d�� t j
�� d�� d| � f � tjrM� �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``.
:ret:
An RFC-2231-formatted unicode string.
�utf-8c 3 s � | ]}|� v V qd S �Nr
)�.0�ch��valuer
r � <genexpr>+ s � z.format_header_param_rfc2231.<locals>.<genexpr>z"\
�%s="%s"�asciiz%s*=%s)�
isinstancer �binary_type�decode�any�encode�UnicodeEncodeError�UnicodeDecodeError�PY2�email�utils�encode_rfc2231)�namer �resultr
r r �format_header_param_rfc2231 s"