�
��fgt! � �� � d dl mZ d dlZd dlZd dlZd dlZdd�Zd� Zddd�Z e �
d � ed d
� � D � � � � d� Zd� Z
e
Z G d
� de� � ZdS )� )�absolute_importN�application/octet-streamc �B � | rt j | � � 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�defaults �0/usr/lib/python3/dist-packages/urllib3/fields.py�guess_content_typer
s, � � � <��#�H�-�-�a�0�;�G�;��N� c �� �� t �t j � � r�� d� � �t �fd�dD � � � � s7| �d��d�} |� d� � |S # t t f$ r Y nw xY wt j r�� d� � �t j
� �d� � �| �d����t j r�� 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 � �K � | ]}|�v V � � d S �N� )�.0�ch�values �r
� <genexpr>z.format_header_param_rfc2231.<locals>.<genexpr>+ s' |