MOON
Server: Apache
System: Linux server30c.hostingraja.org 3.10.0-962.3.2.lve1.5.63.el7.x86_64 #1 SMP Fri Oct 8 12:03:35 UTC 2021 x86_64
User: jibhires (1887)
PHP: 8.1.30
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, allow_url_fopen, symlink, escapeshellcmd, pcntl_exec
Upload Files
File: //opt/alt/python35/lib64/python3.5/site-packages/aiohttp/__pycache__/formdata.cpython-35.pyc


���Z��@s{ddlZddlmZddlmZmZddlmZmZm	Z	ddl
mZd	ZGdd�d�Z
dS)
�N)�	urlencode)�	MultiDict�MultiDictProxy�)�hdrs�	multipart�payload)�guess_filename�FormDatac@s�eZdZdZfdddd�Zedd��Zddd	dd
ddd�Zd
d�Zdd�Z	dd�Z
dd�ZdS)r
z_Helper class for multipart/form-data and
    application/x-www-form-urlencoded body generation.TNcCs�tjd�|_g|_d|_||_||_t|t�rZt	|j
��}nt|t	tf�sx|f}|j|�dS)Nz	form-dataF)
rZMultipartWriter�_writer�_fields�
_is_multipart�
_quote_fields�_charset�
isinstance�dict�list�items�tuple�
add_fields)�self�fields�quote_fields�charset�r�/formdata.py�__init__s					zFormData.__init__cCs|jS)N)r
)rrrr�is_multipartszFormData.is_multipart�content_type�filename�content_transfer_encodingcCs�t|tj�rd|_n6t|tttf�rT|dkrT|dkrT|}td|i�}|dk	r�t|t�r�t	d|��|dkr�t|tj�r�t
||�}|dk	r�||d<d|_i}|dk	r%t|t�st	d|��||tj<d|_|dk	rft|t�sPt	d|��||tj
<d|_|jj|||f�dS)NT�namez,filename must be an instance of str. Got: %srz0content_type must be an instance of str. Got: %sz=content_transfer_encoding must be an instance of str. Got: %s)r�io�IOBaser
�bytes�	bytearray�
memoryviewr�str�	TypeErrorr	r�CONTENT_TYPEZCONTENT_TRANSFER_ENCODINGr�append)rr!�valuerrr �type_options�headersrrr�	add_field"s8

	

	

	zFormData.add_fieldcGs�t|�}x�|r�|jd�}t|tj�rXt|d�}|j||�qt|ttf�r�|j	|j
��qt|ttf�r�t|�dkr�|\}}|j||�qt
dj|���qWdS)Nr�unknown�zxOnly io.IOBase, multidict and (name, file) pairs allowed, use .add_field() for passing more complex parameters, got {!r})r�poprr"r#r	r.rr�extendrr�lenr(�format)rrZto_addZrec�k�fprrrrEs	'	zFormData.add_fieldscCs�g}x1|jD]&\}}}|j|d|f�qW|jdk	rR|jnd}|dkrmd}n
d|}tjt|ddd|�j�d|�S)	Nr!zutf-8z!application/x-www-form-urlencodedz-application/x-www-form-urlencoded; charset=%sZdoseqT�encodingr)rr*rrZBytesPayloadr�encode)r�datar,�_r+rrrrr�_gen_form_urlencoded\s	zFormData._gen_form_urlencodedcCsx|jD]�\}}}y_tj|krYtj|d|tjd|d|j�}ntj|d|d|j�}WnGtk
r�}z'tdt|�||f�|�WYdd}~XnX|r�|j	dd|j
|�|jjtj
d�|jj|�q
W|jS)zAEncode a list of fields using the multipart/form-data MIME formatrr-r7z8Can not serialize value type: %r
 headers: %r
 value: %rNz	form-datar)rrr)rZget_payloadr�	Exceptionr(�typeZset_content_dispositionrr-ZpopallZCONTENT_LENGTHrZappend_payload)rZ
dispparamsr-r+�part�excrrr�_gen_form_datans$/zFormData._gen_form_datacCs!|jr|j�S|j�SdS)N)r
r@r;)rrrr�__call__�s	
zFormData.__call__)�__name__�
__module__�__qualname__�__doc__r�propertyrr.rr;r@rArrrrr

s
")r
)r"Zurllib.parserZ	multidictrr�rrrZhelpersr	�__all__r
rrrr�<module>s