File manager - Edit - /usr/local/CyberCP/lib/python3.10/site-packages/django/http/__pycache__/multipartparser.cpython-310.pyc
Back
o �h�j � @ s0 d Z ddlZddlZddlZddlZddlmZ ddlmZm Z m Z mZ ddlm Z mZmZ ddlmZ ddlmZ ddlmZ dd lmZ d ZG dd� de�ZG d d� de�ZdZdZdZeeeg�Z G dd� d�Z!G dd� d�Z"G dd� d�Z#G dd� d�Z$G dd� d�Z%dd� Z&dd� Z'G d d!� d!�Z(dS )"z� Multi-part parsing for file uploads. Exposes one class, ``MultiPartParser``, which feeds chunks of uploaded data to file upload handlers for processing. � N)�settings)�RequestDataTooBig�SuspiciousMultipartForm�TooManyFieldsSent�TooManyFilesSent)�SkipFile�StopFutureHandlers� StopUpload)�MultiValueDict)� force_str)�parse_header_parameters)�_lazy_re_compile)�MultiPartParser�MultiPartParserError�InputStreamExhaustedc @ s e Zd ZdS )r N)�__name__� __module__�__qualname__� r r �N/usr/local/CyberCP/lib/python3.10/site-packages/django/http/multipartparser.pyr s r c @ s e Zd ZdZdS )r z5 No more reads are allowed from this device. N)r r r �__doc__r r r r r s r �raw�file�fieldc @ sN e Zd ZdZed�Zddd�Zdd� Zdd � Zd d� Z dd � Z e Zdd� ZdS )r z� An RFC 7578 multipart/form-data parser. ``MultiValueDict.parse()`` reads the input stream in ``chunk_size`` chunks and returns a tuple of ``(MultiValueDict(POST), MultiValueDict(FILES))``. z[ -~]{0,200}[!-~]Nc C s |� dd�}|�d�std| ��z|�d� W n ty' tdt|� ��w t|�\}}|� d�}|r;| j�|�sCtdt|� ��z t |� d d ��} W n t tfyZ d } Y nw | d k retd| ��|�d�| _|| _ dd � |D �} tdg| �| _|| _|p�tj| _| | _|| _dS )a� Initialize the MultiPartParser object. :META: The standard ``META`` dictionary in Django request objects. :input_data: The raw post data, as a file-like object. :upload_handlers: A list of UploadHandler instances that perform operations on the uploaded data. :encoding: The encoding with which to treat the incoming data. �CONTENT_TYPE� z multipart/zInvalid Content-Type: %s�asciiz/Invalid non-ASCII Content-Type in multipart: %s�boundaryz!Invalid boundary in multipart: %s�CONTENT_LENGTHr zInvalid content length: %rc S s g | ]}|j r|j �qS r )� chunk_size)�.0�xr r r � <listcomp>k � z,MultiPartParser.__init__.<locals>.<listcomp>i���N)�get� startswithr �encode�UnicodeEncodeErrorr r �boundary_re� fullmatch�int� ValueError� TypeError� _boundary�_input_data�min�_chunk_size�_metar �DEFAULT_CHARSET� _encoding�_content_length�_upload_handlers)�self�META� input_data�upload_handlers�encoding�content_type�_�optsr �content_length�possible_sizesr r r �__init__8 sB ��� �� zMultiPartParser.__init__c C sL z| � � W S ty% t| d�r$| j�� D ] \}}|D ]}|�� qq� w )N�_files)�_parse� Exception�hasattrrA �lists�close)r6 r<