§
    ^¦·fi  ã                   óJ   — d Z ddlmZ ddlmZ ddlmZ  G d„ de¦  «        ZdS )zé
The Response class in REST framework is similar to HTTPResponse, except that
it is initialized with unrendered data, instead of a pre-rendered string.

The appropriate renderer is called during Django's template response rendering.
é    )Ú	responses)ÚSimpleTemplateResponse)Ú
Serializerc                   ó`   ‡ — e Zd ZdZ	 	 	 dˆ fd„	Zed„ ¦   «         Zed„ ¦   «         Zˆ fd„Zˆ xZ	S )	ÚResponsez]
    An HttpResponse that allows its data to be rendered into
    arbitrary media types.
    NFc                 ó  •— t          ¦   «                              d|¬¦  «         t          |t          ¦  «        rd}t	          |¦  «        ‚|| _        || _        || _        || _        |r| 	                    ¦   «         D ]\  }}	|	| |<   ŒdS dS )zÿ
        Alters the init arguments slightly.
        For example, drop 'template_name', and instead use 'data'.

        Setting 'renderer' and 'media_type' will typically be deferred,
        For example being set automatically by the `APIView`.
        N)ÚstatusztYou passed a Serializer instance as data, but probably meant to pass serialized `.data` or `.error`. representation.)
ÚsuperÚ__init__Ú
isinstancer   ÚAssertionErrorÚdataÚtemplate_nameÚ	exceptionÚcontent_typeÚitems)Úselfr   r	   r   Úheadersr   r   ÚmsgÚnameÚvalueÚ	__class__s             €úI/var/www/html/env/lib/python3.11/site-packages/rest_framework/response.pyr   zResponse.__init__   s®   ø€ õ 	‰Œ×Ò˜ fÐÑ-Ô-Ð-ådJÑ'Ô'ð 	&ð,ð õ
 ! Ñ%Ô%Ð%àˆŒ	Ø*ˆÔØ"ˆŒØ(ˆÔàð 	#Ø&Ÿ}š}™œð #ð #‘eØ"T‘

ð	#ð 	#ð#ð #ó    c                 óÞ  — t          | dd ¦  «        }t          | dd ¦  «        }t          | dd ¦  «        }|s
J d¦   «         ‚|s
J d¦   «         ‚|€
J d¦   «         ‚| |d<   |j        }|j        }| j        }|€|d                     ||¦  «        }n|€|}|| d	<   |                     | j        ||¦  «        }t          |t          ¦  «        r!|s
J d
¦   «         ‚| 	                    |¦  «        S |s| d	= |S )NÚaccepted_rendererÚaccepted_media_typeÚrenderer_contextz&.accepted_renderer not set on Responsez(.accepted_media_type not set on Responsez%.renderer_context not set on ResponseÚresponsez{}; charset={}zContent-Typez?renderer returned unicode, and did not specify a charset value.)
ÚgetattrÚ
media_typeÚcharsetr   ÚformatÚrenderr   r   ÚstrÚencode)r   Úrendererr   Úcontextr!   r"   r   Úrets           r   Úrendered_contentzResponse.rendered_content1   sA  € å˜4Ð!4°dÑ;Ô;ˆÝ% dÐ,AÀ4ÑHÔHÐÝ˜$Ð 2°DÑ9Ô9ˆàÐAÐAÐAÑAÔAˆxØ"ÐNÐNÐ$NÑNÔNÐ"ØÐ"Ð"Ð$KÑ"Ô"Ð"Ø"ˆ
ÑàÔ(ˆ
ØÔ"ˆØÔ(ˆàÐ GÐ$7Ø+×2Ò2°:¸wÑGÔGˆLˆLØÐ!Ø%ˆLØ+ˆˆ^ÑàoŠo˜dœiÐ)<¸gÑFÔFˆÝc3ÑÔð 	'Øð ð ð#ñô 7ð —:’:˜gÑ&Ô&Ð&àð 	%Ø^Ð$àˆ
r   c                 ó6   — t          j        | j        d¦  «        S )zw
        Returns reason text corresponding to our HTTP response status code.
        Provided for convenience.
        Ú )r   ÚgetÚstatus_code)r   s    r   Ústatus_textzResponse.status_textS   s   € õ Œ}˜TÔ-¨rÑ2Ô2Ð2r   c                 ój   •— t          ¦   «                              ¦   «         }dD ]	}||v r||= Œ
g |d<   |S )zO
        Remove attributes from the response that shouldn't be cached.
        )r   r   Úresolver_matchÚclientÚrequestÚjsonÚwsgi_requestÚ_closable_objects)r
   Ú__getstate__)r   ÚstateÚkeyr   s      €r   r7   zResponse.__getstate__[   sN   ø€ õ ‘”×$Ò$Ñ&Ô&ˆð
ð 	ð 	ˆCð eˆ|ˆ|Ø˜#JøØ%'ˆÐ!Ñ"Øˆr   )NNNNFN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr*   r/   r7   Ú__classcell__)r   s   @r   r   r      s¢   ø€ € € € € ðð ð
 *.Ø-1Ø/3ð#ð #ð #ð #ð #ð #ð: ðð ñ „XððB ð3ð 3ñ „Xð3ðð ð ð ð ð ð ð ð r   r   N)r=   Úhttp.clientr   Údjango.template.responser   Úrest_framework.serializersr   r   © r   r   ú<module>rD      s†   ððð ð "Ð !Ð !Ð !Ð !Ð !à ;Ð ;Ð ;Ð ;Ð ;Ð ;à 1Ð 1Ð 1Ð 1Ð 1Ð 1ðYð Yð Yð Yð YÐ%ñ Yô Yð Yð Yð Yr   