Your IP : 3.144.211.57
�
��h� ���ddlmZddlZddlZddlZddlmZddlmZddl m
Z
ddlmZej
d��d Zd
�Zd�Zd�Zdd
�ZdS)�)�absolute_importN)�BytesIO�)�RequestField)�six)�bzutf-8�c��tjtjd����}tjs|�d��}|S)zN
Our embarrassingly-simple replacement for mimetools.choose_boundary.
��ascii)�binascii�hexlify�os�urandomr�PY2�decode)�boundarys �G/opt/imunify360/venv/lib64/python3.11/site-packages/urllib3/filepost.py�choose_boundaryrs<�����
�2���/�/�H��7�,��?�?�7�+�+���O�c#��K�t|t��rtj|��}nt |��}|D],}t|t
��r|V��tj|�V��-dS)z�
Iterate over fields.
Supports list of (k, v) tuples and dicts, and lists of
:class:`~urllib3.fields.RequestField`.
N)�
isinstance�dictr� iteritems�iterr�from_tuples)�fields�i�fields r�iter_field_objectsr s������&�$�����M�&�!�!�����L�L���3�3���e�\�*�*� 3��K�K�K�K��*�E�2�2�2�2�2� 3�3rc��t|t��rd�tj|��D��Sd�|D��S)a-
.. deprecated:: 1.6
Iterate over fields.
The addition of :class:`~urllib3.fields.RequestField` makes this function
obsolete. Instead, use :func:`iter_field_objects`, which returns
:class:`~urllib3.fields.RequestField` objects.
Supports list of (k, v) tuples and dicts.
c3�$K�|]\}}||fV��dS�N���.0�k�vs r� <genexpr>ziter_fields.<locals>.<genexpr>:s*����9�9�4�1�a��A��9�9�9�9�9�9rc3�$K�|]\}}||fV��dSr#r$r%s rr)ziter_fields.<locals>.<genexpr><s*����&�&�t�q�!�Q��F�&�&�&�&�&�&r)rrrr)rs r�iter_fieldsr+-sH���&�$���:�9�9�3�=��#8�#8�9�9�9�9�&�&�v�&�&�&�&rc���t��}|�t��}t|��D]�}|�t d|z����t|���|�����|j}t|t��rt|��}t|tj��r#t|���|��n|�|��|�d����|�t d|z����td|z��}|�
��|fS)aQ
Encode a dictionary of ``fields`` using the multipart/form-data MIME format.
:param fields:
Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`).
:param boundary:
If not specified, then a random boundary will be generated using
:func:`urllib3.filepost.choose_boundary`.
Nz--%s
s
z--%s--
z multipart/form-data; boundary=%s)rrr �writer�writer�render_headers�datar�int�strr� text_type�getvalue)rr�bodyrr0�content_types r�encode_multipart_formdatar7?s;���9�9�D���"�$�$��#�F�+�+�����
�
�1�Z�8�,�-�-�.�.�.��t�����5�/�/�1�1�2�2�2��z���d�C� � � ��t�9�9�D��d�C�M�*�*� ��4�L�L���t�$�$�$�$��J�J�t�����
�
�7������J�J�q���*�+�+�,�,�,��9�H�D�E�E�L��=�=�?�?�L�(�(rr#)�
__future__rr
�codecsr�iorrr�packagesr�packages.sixr�lookupr.rr r+r7r$rr�<module>r>s���&�&�&�&�&�&�����
�
�
�
� � � � ������� � � � � � ������������� ���w� � �� "�����3�3�3�('�'�'�$#)�#)�#)�#)�#)�#)r
?>