B
    ind                 @   s   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 d dlmZ d dlm	Z	 yd d	l
Z
W n ek
r   d	Z
Y nX yd d	lZW n ek
r   d	ZY nX G d
d deZG dd deZd	S )    )Any)FileResponse)HTMLResponse)JSONResponse)PlainTextResponse)RedirectResponse)Response)StreamingResponseNc               @   s   e Zd ZeedddZdS )UJSONResponse)contentreturnc             C   s$   t d k	stdt j|dddS )Nz,ujson must be installed to use UJSONResponseF)ensure_asciizutf-8)ujsonAssertionErrordumpsencode)selfr    r   5/tmp/pip-unpacked-wheel-x7mu4my2/fastapi/responses.pyrender   s    zUJSONResponse.renderN)__name__
__module____qualname__r   bytesr   r   r   r   r   r
      s   r
   c               @   s   e Zd ZeedddZdS )ORJSONResponse)r   r   c             C   s&   t d k	stdt j|t jt jB dS )Nz.orjson must be installed to use ORJSONResponse)option)orjsonr   r   ZOPT_NON_STR_KEYSZOPT_SERIALIZE_NUMPY)r   r   r   r   r   r      s    zORJSONResponse.renderN)r   r   r   r   r   r   r   r   r   r   r      s   r   )typingr   Zstarlette.responsesr   r   r   r   r   r   r	   r   ImportErrorr   r
   r   r   r   r   r   <module>   s"   

