o
    㥵ih
                     @  s   d dl mZ d dlZd dlZd dlmZ d dlmZ ddl	m
Z
mZmZmZmZmZmZ ddlmZ g d	ZejZG d
d deejZG dd de
ejZG dd deejZG dd deejZG dd deejZG dd deejZG dd deejZ				d,d-d&d'Zd.d*d+ZdS )/    )annotationsN)asgi)ServerSentEvent   )FileResponseMixinHTMLResponseMixinJSONResponseMixinPlainTextResponseMixinRedirectResponseMixinSendEventResponseMixinStreamResponseMixin   )request)convert_responseHttpResponseFileResponseHTMLResponseJSONResponsePlainTextResponseRedirectResponseSendEventResponser   StreamResponseTemplateResponsec                   @  s   e Zd ZdddZdS )	r   content
typing.Anyreturnbytesc                   s8   | j dstjj| j d< tj|fi | j | jS )Ndefault)	json_kwargsgetr   appjson_encoderjsondumpsencodecharset)selfr    r'   F/home/ubuntu/.local/lib/python3.10/site-packages/kui/asgi/responses.pyrender&   s   zJSONResponse.renderN)r   r   r   r   )__name__
__module____qualname__r)   r'   r'   r'   r(   r   %   s    r   c                   @     e Zd ZdS )r   Nr*   r+   r,   r'   r'   r'   r(   r   ,       r   c                   @  r-   )r   Nr.   r'   r'   r'   r(   r   3   r/   r   c                   @  r-   )r   Nr.   r'   r'   r'   r(   r   :   r/   r   c                   @  r-   )r   Nr.   r'   r'   r'   r(   r   A   r/   r   c                   @  r-   )r   Nr.   r'   r'   r'   r(   r   H   r/   r   c                   @  r-   )r   Nr.   r'   r'   r'   r(   r   O   r/   r      namestrcontexttyping.Mapping[str, typing.Any]status_codeintheaders)typing.Optional[typing.Mapping[str, str]]
media_typetyping.Optional[str]r%   r   r   c                 C  s,   t jj}|d u rtd|| |||||S )NzBYou must assign a value to `app.templates` to use TemplateResponse)r   r    	templatesRuntimeErrorr   )r1   r3   r5   r7   r9   r%   r;   r'   r'   r(   r   V   s   r   responser   c                 C  s"   t | trtjj|  S tj| S )a.  
    shortcut for convert response to HttpResponse

    Example:

        response = convert(response)

    It is equivalent to:

        if isinstance(response, tuple):
            response = app.response_converter(*response)
        else:
            response = app.response_converter(response)

    )
isinstancetupler   r    response_converter)r=   r'   r'   r(   r   i   s   
r   )r0   NNN)r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r%   r:   r   r   )r=   r   r   r   )
__future__r   r"   typingbaizer   
baize_asgibaize.typingr   	responsesr   r   r   r	   r
   r   r   requestsr   __all__Responser   r   r   r   r   r   r   r   r   r   r'   r'   r'   r(   <module>   sP    $	






