File: //opt/cloudlinux/venv/lib64/python3.11/site-packages/urllib3/__pycache__/fields.cpython-311.pyc
�
    � h+  �                  ��   � d dl mZ d dlZd dlZd dlZej        eef         Z	ej        e	ej
        ee	f         ej
        ee	ef         f         Z	 ddd	�Zdd
�Z
dd�Zdd�Zdd�Z G d� d�  �        ZdS )�    )�annotationsN�application/octet-stream�filename�
str | None�default�str�returnc                �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)r   r   s     �C/opt/cloudlinux/venv/lib/python3.11/site-packages/urllib3/fields.py�guess_content_typer      s,   � � � <��#�H�-�-�a�0�;�G�;��N�    �name�value�_TYPE_FIELD_VALUEc                �  �� ddl }|�                    dt          d��  �         t          �t          �  �        r��                    d�  �        �t
          �fd�dD �   �         �  �        s7| � d	�� d
�}	 |�                    d�  �         |S # t          t          f$ r Y nw xY wt          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.�   ��
stacklevel�utf-8c              3  �    �K  � | ]}|�v V � �	d S �N� )�.0�chr   s     �r
   �	<genexpr>z.format_header_param_rfc2231.<locals>.<genexpr>@   s'