§
    _}dgá  ã                   ó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                   óf   ‡ — e Zd ZdZ	 	 	 d	ˆ fd„	Z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             €úV/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/rest_framework/response.pyr   zResponse.__init__   s®   ø€ õ 	‰Œ×Ò˜ fÐÑ-Ô-Ð-ådJÑ'Ô'ð 	&ð,ð õ
 ! Ñ%Ô%Ð%àˆŒ	Ø*ˆÔØ"ˆŒØ(ˆÔàð 	#Ø&Ÿ}š}™œð #ð #‘eØ"T‘

ð	#ð 	#ð#ð #ó    c                 ó   — | S )N© )ÚclsÚargsÚkwargss      r   Ú__class_getitem__zResponse.__class_getitem__2   s   € Øˆ
r   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_content5   sE  € å˜4Ð!4°dÑ;Ô;ˆÝ% dÐ,AÀ4ÑHÔHÐÝ˜$Ð 2°DÑ9Ô9ˆàÐAÐAÐAÑAÔAÐAØ"ÐNÐNÐ$NÑNÔNÐNØÐ"Ð"Ð$KÑ"Ô"Ð"Ø"ˆ
ÑàÔ(ˆ
ØÔ"ˆØÔ(ˆàÐ GÐ$7Ø+×2Ò2°:¸wÑGÔGˆLˆLØÐ!Ø%ˆLØ+ˆˆ^ÑàoŠo˜dœiÐ)<¸gÑFÔFˆÝc3ÑÔð 	'Øð ð ð#ñô ð ð —:’:˜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_textW   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   r=   zResponse.__getstate___   sN   ø€ õ ‘”×$Ò$Ñ&Ô&ˆð
ð 	ð 	ˆCð eˆ|ˆ|Ø˜#JøØ%'ˆÐ!Ñ"Øˆr   )NNNNFN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r    Úpropertyr0   r5   r=   Ú__classcell__)r   s   @r   r   r      s±   ø€ € € € € ðð ð
 *.Ø-1Ø/3ð#ð #ð #ð #ð #ð #ð<ð ð ð ðð ñ „XððB ð3ð 3ñ „Xð3ðð ð ð ð ð ð ð ð r   r   N)rC   Úhttp.clientr   Údjango.template.responser   Úrest_framework.serializersr   r   r   r   r   ú<module>rI      s†   ððð ð "Ð !Ð !Ð !Ð !Ð !à ;Ð ;Ð ;Ð ;Ð ;Ð ;à 1Ð 1Ð 1Ð 1Ð 1Ð 1ð]ð ]ð ]ð ]ð ]Ð%ñ ]ô ]ð ]ð ]ð ]r   