HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/cherrypy/lib/__pycache__/__init__.cpython-310.pyc
o

�N�g�
�@s:dZdd�Zdd�ZGdd�de�Zd
dd	�Zd
d�ZdS)zCherryPy Library.cCs4ddlm}t||�r
dSt|d�sdSt|�|uS)z�Detect if the object provided implements the iterator protocol.

    (i.e. like a generator).

    This will return False for objects which are iterable,
    but not iterators themselves.
    �)�
GeneratorTypeT�__iter__F)�typesr�
isinstance�hasattr�iter)�objr�r	�I/opt/saltstack/salt/lib/python3.10/site-packages/cherrypy/lib/__init__.py�is_iterators

rcCsbt|�sdSddl}|�|�rdSt|d�rt|j�sdSz	|�|j�WdSty0YdSw)z9Detect if the given object is both closable and iterator.FrNT�close)r�inspectZisgeneratorr�callablerZgetcallargs�	TypeError)rr
r	r	r
�is_closable_iterators
��rc@s6eZdZdZddd�Zdd�Zdd�ZeZd	d
�ZdS)
�file_generatorzOYield the given input (a file object) in chunks (default 64k).

    (Core)
    �cCs||_||_dS)zAInitialize file_generator with file ``input`` for chunked access.N)�input�	chunkSize)�selfrrr	r	r
�__init__5s
zfile_generator.__init__cCs|S)zReturn iterator.r	�rr	r	r
r:szfile_generator.__iter__cCs2|j�|j�}|r|St|jd�r|j��t��)zReturn next chunk of file.r)r�readrrr�
StopIteration)r�chunkr	r	r
�__next__>s
zfile_generator.__next__cCst|jd�r
|j��dSdS)zClose input on descturct.rN)rrrrr	r	r
�__del__Is�zfile_generator.__del__N�r)	�__name__�
__module__�__qualname__�__doc__rrr�nextrr	r	r	r
r/s
	rrccsP�|}|dkr&|�t||��}t|�}|dkrdS||8}|V|dksdSdS)z�Yield the given file object in chunks.

    Stopps after `count` bytes has been emitted.
    Default chunk size is 64kB. (Core)
    rN)r�min�len)�fileobj�countZ
chunk_size�	remainingrZchunklenr	r	r
�file_generator_limitedOs��r(cCsH|j�dd�}dd�|�d�D�}||vr|�|�d�|�|jd<dS)z Add a Vary header to a response.ZVary�cSsg|]
}|��r|���qSr	)�strip)�.0�xr	r	r
�
<listcomp>bsz#set_vary_header.<locals>.<listcomp>�,z, N)�headers�get�split�append�join)�response�header_nameZvariesr	r	r
�set_vary_header_s

r6Nr)r!rr�objectrr(r6r	r	r	r
�<module>s