
    wdf	              
           d dl mZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ  G d d	e          Z G d
 de          Z G d deeee	ee          ZdS )   )cached_property   )WWWAuthenticateMixin)BaseResponse)CommonResponseDescriptorsMixin)CORSResponseMixin)ETagResponseMixinc                   V    e Zd ZdZdZd Zd Zd Zd Zd Z	d Z
d	 Zed
             ZdS )ResponseStreamzA file descriptor like object used by the :class:`ResponseStreamMixin` to
    represent the body of the stream.  It directly pushes into the response
    iterable of the response object.
    zwb+c                 "    || _         d| _        d S )NF)responseclosed)selfr   s     _/var/www/book.euthymeo.com/html/venv/lib/python3.11/site-packages/werkzeug/wrappers/response.py__init__zResponseStream.__init__   s         c                     | j         rt          d          | j                            d           | j        j                            |           | j        j                            dd            t          |          S )NI/O operation on closed fileT)mutablezContent-Length)r   
ValueErrorr   _ensure_sequenceappendheaderspoplen)r   values     r   writezResponseStream.write   su    ; 	=;<<<&&t&444%%e,,,!!"2D9995zzr   c                 :    |D ]}|                      |           d S N)r   )r   seqitems      r   
writelineszResponseStream.writelines   s0     	 	DJJt	 	r   c                     d| _         d S )NT)r   r   s    r   closezResponseStream.close!   s    r   c                 2    | j         rt          d          d S )Nr   r   r   r$   s    r   flushzResponseStream.flush$   s%    ; 	=;<<<	= 	=r   c                 2    | j         rt          d          dS )Nr   Fr'   r$   s    r   isattyzResponseStream.isatty(   s     ; 	=;<<<ur   c                     | j                                          t          t          t          | j         j                             S r   )r   r   summapr   r$   s    r   tellzResponseStream.tell-   s3    &&(((3sDM233444r   c                     | j         j        S r   )r   charsetr$   s    r   encodingzResponseStream.encoding1   s    }$$r   N)__name__
__module____qualname____doc__moder   r   r"   r%   r(   r*   r.   propertyr1    r   r   r   r   	   s         
 D        = = =  
5 5 5 % % X% % %r   r   c                   (    e Zd ZdZed             ZdS )ResponseStreamMixinzMixin for :class:`BaseResponse` subclasses.  Classes that inherit from
    this mixin will automatically get a :attr:`stream` property that provides
    a write-only interface to the response iterable.
    c                      t          |           S )z+The response iterable as write-only stream.)r   r$   s    r   streamzResponseStreamMixin.stream<   s     d###r   N)r2   r3   r4   r5   r   r<   r8   r   r   r:   r:   6   s9         
 $ $ _$ $ $r   r:   c                       e Zd ZdZdS )Responsea  Full featured response object implementing the following mixins:

    -   :class:`ETagResponseMixin` for etag and cache control handling
    -   :class:`WWWAuthenticateMixin` for HTTP authentication support
    -   :class:`~werkzeug.wrappers.cors.CORSResponseMixin` for Cross
        Origin Resource Sharing headers
    -   :class:`ResponseStreamMixin` to add support for the ``stream``
        property
    -   :class:`CommonResponseDescriptorsMixin` for various HTTP
        descriptors
    N)r2   r3   r4   r5   r8   r   r   r>   r>   B   s        
 
 
 
r   r>   N)utilsr   authr   base_responser   common_descriptorsr   corsr   etagr	   objectr   r:   r>   r8   r   r   <module>rF      s
   # # # # # # & & & & & & ' ' ' ' ' ' > > > > > > # # # # # # # # # # # #*% *% *% *% *%V *% *% *%Z	$ 	$ 	$ 	$ 	$& 	$ 	$ 	$    "    r   