HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //usr/lib/python3.9/site-packages/urllib3/__pycache__/filepost.cpython-39.pyc
a

t~�`�	�@s�ddlmZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZe�
d�d	Zd
d�Zdd
�Zdd�Zddd�ZdS)�)�absolute_importN)�BytesIO�)�RequestField)�six)�bzutf-8�cCs$t�t�d��}tjs |�d�}|S)zN
    Our embarrassingly-simple replacement for mimetools.choose_boundary.
    ��ascii)�binasciiZhexlify�os�urandomrZPY2�decode)�boundary�r�4/usr/lib/python3.9/site-packages/urllib3/filepost.py�choose_boundarys
rccsJt|t�rt�|�}nt|�}|D]"}t|t�r8|Vq"tj|�Vq"dS)z�
    Iterate over fields.

    Supports list of (k, v) tuples and dicts, and lists of
    :class:`~urllib3.fields.RequestField`.

    N)�
isinstance�dictr�	iteritems�iterrZfrom_tuples)�fields�i�fieldrrr�iter_field_objectss

rcCs,t|t�rdd�t�|�D�Sdd�|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.
    css|]\}}||fVqdS�Nr��.0�k�vrrr�	<genexpr>:�ziter_fields.<locals>.<genexpr>css|]\}}||fVqdSrrrrrrr <r!)rrrr)rrrr�iter_fields-s
r"cCs�t�}|durt�}t|�D]p}|�td|��t|��|���|j}t|t	�r\t
|�}t|tj�rxt|��|�n
|�|�|�d�q|�td|��t
d|�}|�
�|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�writerZrender_headers�datar�int�strrZ	text_type�getvalue)rr�bodyrr%Zcontent_typerrr�encode_multipart_formdata?s 

r*)N)Z
__future__rr�codecsr�iorrrZpackagesrZpackages.sixr�lookupr$rrr"r*rrrr�<module>s