403Webshell
Server IP : 192.158.238.246  /  Your IP : 3.141.38.5
Web Server : LiteSpeed
System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64
User : jenniferflocom ( 1321)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python37/lib64/python3.7/site-packages/aiohttp/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python37/lib64/python3.7/site-packages/aiohttp/__pycache__/web_fileresponse.cpython-37.pyc
B

�k�a *�@sUddlZddlZddlZddlZddlZddlmZmZmZm	Z	m
Z
mZmZm
Z
mZmZmZddlmZddlmZddlmZmZddlmZmZddlmZmZmZmZdd	l m!Z!d
Z"er�ddl#m$Z$e
e
e%ge	dfZ&e'ej(�)d��Z*ee'e+d
<Gdd�de!�Z,dS)�N)�IO�
TYPE_CHECKING�Any�	Awaitable�Callable�Iterator�List�Optional�Tuple�Union�cast�)�hdrs)�AbstractStreamWriter)�ETAG_ANY�ETag)�Final�LooseHeaders)�HTTPNotModified�HTTPPartialContent�HTTPPreconditionFailed�HTTPRequestRangeNotSatisfiable)�StreamResponse)�FileResponse)�BaseRequestZAIOHTTP_NOSENDFILE�
NOSENDFILEcs�eZdZdZdeeejfeee	ee	e
dd��fdd�
Zee
eeeed�d	d
�Zde
eeeed��fd
d�Zeeeedfed�dd��Zdeee	ed��fdd�Zde	ed��fdd�Zde	ed��fdd�Z�ZS)rz,A response object can be used to send files.���N)�path�
chunk_size�status�reason�headers�returncs6t�j|||d�t|t�r&t�|�}||_||_dS)N)r r!r")�super�__init__�
isinstance�str�pathlib�Path�_path�_chunk_size)�selfrrr r!r")�	__class__��K/opt/alt/python37/lib64/python3.7/site-packages/aiohttp/web_fileresponse.pyr%/s


zFileResponse.__init__)�writer�fobj�offset�countr#c�s�|j}t��}|�d|j|�IdH|�d|j|�IdH}xF|r�|�|�IdH||}|dkrbP|�d|jt||��IdH}q<W|��IdH|S)Nr)	r+�asyncio�get_event_loop�run_in_executor�seek�read�write�minZdrain)r,r0r1r2r3r�loop�chunkr.r.r/�_sendfile_fallback?s zFileResponse._sendfile_fallbackr)�requestr1r2r3r#c	�s�t��|�IdH}|dk	st�ts2tjdks2|jrH|�||||�IdHS|j}|j	}|dk	s`t�y|�
||||�IdHWn&tk
r�|�||||�IdHSXt���IdH|S)N)��)
r$�prepare�AssertionErrorr�sys�version_info�compressionr=Z_loop�	transport�sendfile�NotImplementedErrorZ	write_eof)r,r>r1r2r3r0r;rF)r-r.r/�	_sendfileUszFileResponse._sendfile.)�
etag_value�etagsr#cs4t|�dkr|djtkrdSt�fdd�|D��S)Nr
rTc3s|]}|js|j�kVqdS)N)Zis_weak�value)�.0�etag)rJr.r/�	<genexpr>nsz2FileResponse._strong_etag_match.<locals>.<genexpr>)�lenrLr�any)rJrKr.)rJr/�_strong_etag_matchjszFileResponse._strong_etag_match)r>rJ�
last_modifiedr#c�s0|�tj�d|_||_||_t��|�IdHS)NF)�
set_statusr�status_codeZ
_length_checkrNrSr$rA)r,r>rJrS)r-r.r/�
_not_modifiedps
zFileResponse._not_modified)r>r#c�s$|�tj�d|_t��|�IdHS)Nr)rTrrU�content_lengthr$rA)r,r>)r-r.r/�_precondition_failed{sz!FileResponse._precondition_failedc
�s�|j}d}d|j�tjd�kr>|�|jd�}|��r>|}d}t�	�}|�
d|j�IdH}|jd�d|j
d��}|j}|j}	|	dk	r�|�||	�s�|�|�IdHS|j}
|
dk	r�|	dkr�|j|
��kr�|�|�IdHS|j}|dk	�r|�||��r|�|||�IdHS|j}|dk	�rD|dk�rD|j|��k�rD|�|||�IdHStj|jk�rtt�t|��\}
}|
�snd}
d}n|�r~dnd}d}|j}|j
}|}d}|j}|dk�s�|j|��k�r�y|j}|j}|j}WnBt k
�rd	|��|jtj!<|�"t#j$�t%��&|�IdHSX|dk	�s(|dk	�r�|d
k�r\|dk�r\||7}|d
k�rRd
}||}nt'|dk	�rl|n||�|}||k�r�d	|��|jtj!<|�"t#j$�t%��&|�IdHSt(j$}|�"|�|�r�|
|_)|�r�||jtj*<|�r�tj|jtj+<||_,|j|_-||_.d|jtj/<t0t1|�}|t(j$k�rHd�2|||d
|�|jtj!<|d
k�sl|j3tj4k�sl|j5dk�r~t%��&|�IdHS|�
d|j6d�IdH}|�r�|}nd
}z|�7||||�IdHS|�
d|j8�IdHXdS)NF�gzip�z.gzT�x�-zapplication/octet-streamzbytes */r�byteszbytes {}-{}/{}r
)��i0�rb)9r*r"�getrZACCEPT_ENCODING�	with_name�name�is_filer4r5r6�stat�st_mtime_ns�st_size�st_mtimeZif_matchrRrXZif_unmodified_since�	timestampZ
if_none_matchrVZif_modified_sinceZCONTENT_TYPE�	mimetypesZ
guess_typer'Z_statusZif_rangeZ
http_range�start�stop�
ValueErrorZ
CONTENT_RANGErTrrUr$rAr:r�content_typeZCONTENT_ENCODINGZVARYrNrSrWZ
ACCEPT_RANGESr�int�format�methodZ	METH_HEADr �openrI�close)r,r>�filepathrYZ	gzip_pathr;�strJrSZifmatchZ
unmodsinceZifnonematchZmodsince�ct�encodingZ
should_set_ctr �	file_sizer3rjZifrange�rng�endZ
real_startr1r2)r-r.r/rA�s�










$zFileResponse.prepare)rrNN)�__name__�
__module__�__qualname__�__doc__rr'r(r)rnr	rr%rrrr=rI�staticmethodr
r�boolrR�floatrVrXrA�
__classcell__r.r.)r-r/r,s"

r)-r4ri�osr(rC�typingrrrrrrrr	r
rrrZr�abcrZhelpersrrZtypedefsrrZweb_exceptionsrrrrZweb_responser�__all__Zweb_requestrr]Z_T_OnChunkSentr�environr`r�__annotations__rr.r.r.r/�<module>s$4

Youez - 2016 - github.com/yon3zu
LinuXploit